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.

#176 Le 18/08/2014, à 22:31

metalux

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Salut linuxm@c,
Pour la notification, Gaara est le mieux placé et a fait un travail remarquable. Le mieux est de poster sur la discussion ouverte à ce sujet:
https://forum.ubuntu-fr.org/viewtopic.php?id=1507071

j`aimerai que vous:
-  ajoutez la possibilité de modifier le fichier 10periodic  , dans le même script

Oui c'est possible mais je ne l'ai pas mis volontairement car je trouve que le script commence à devenir lourd avec trop d'options. Y-a-t-il un réel intérêt à le modifier? Par défaut le script configure celle-ci sur un lancement d'unattended-upgrades une fois par jour.

- ajoutez l` option autoremove et autoclean , afin de garder un cache propre

Le script ajoute la ligne suivante dans le fichier 10periodic au 1er lancement:
APT::Periodic::AutocleanInterval "1";
Du coup, l'option d'unattended-upgrades fait doublon avec ce fichier et n'est pas nécessaire.
D'aillleurs, autoclean est peu intéressant, apt-get clean l'est beaucoup plus si l'objectif est de vider le cache pour récupérer de l'espace. Pour ma part, j'utilise tout simplement une tâche cron avec la commande apt-get clean && apt-get autoremove. Il y a bien l'équivalent d'autoremove et autoclean dans unattended mais pas de clean sinon j'ajouterais une option pour le nettoyage. Avoir une option de nettoyage qui ne prend pas en compte le vidage du cache à tout de suite moins d'intérêt, voilà la raison pour laquelle je ne l'ai pas ajoutée. Après, ajouter une option "Nettoyage" dans le script qui ajoute une tâche cron pour le faire, pourquoi pas? Mais là, il faut que je regarde un peu, je ne m'embête pas en temps normal et je passe par gnome-schedule.

Hors ligne

#177 Le 18/08/2014, à 23:41

linuxm@c

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

metalux a écrit :

la notification, Gaara est le mieux placé

peut être une fusion des deux scripts serra mieux


metalux a écrit :

  Il y a bien l'équivalent d'autoremove et autoclean dans unattended mais pas de clean sinon j'ajouterais une option pour le nettoyage.

-le but d`autoclean + autoremove : est d`avoir un cache propre en utilisant apconcd      ou     dépôt_local

- le but de clean : est d` avoir de l`espace sur le disque dur ou suppression des paquets non utiles


metalux a écrit :

merci pour l`info.

Dernière modification par linuxm@c (Le 18/08/2014, à 23:41)

Hors ligne

#178 Le 19/08/2014, à 09:49

metalux

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

peut être une fusion des deux scripts serra mieux

C'est en projet depuis un certain temps. J'en discute avec Gaara sur son fil, j'attends sa réponse, mais ce n'est pas pour tout de suite.

-le but d`autoclean + autoremove : est d`avoir un cache propre en utilisant apconcd      ou     dépôt_local

Je me suis basé sur mon utilisation et le cas général d'un particulier et n'ai pas pensé à ce cas de figure. Là je comprends mieux l'utilité. Sinon qu'en penses-tu d'ajouter une tâche cron, c'est plus souple et ça permet d'ajouter également apt-get clean?

Hors ligne

#179 Le 19/08/2014, à 14:11

linuxm@c

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

metalux a écrit :

qu'en penses-tu d'ajouter une tâche cron, c'est plus souple et ça permet d'ajouter également apt-get clean?

- ce n`est pas pour mon besoin personnel que  j'ai suggéré  cette solution.
    le but  est de rendre votre  votre script plus utile  (installation automatique + notification + garder un cache propre + nettoyage du système = MAJ_Auto )

Dernière modification par linuxm@c (Le 19/08/2014, à 14:12)

Hors ligne

#180 Le 20/08/2014, à 22:11

metalux

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Oui,oui, j'avais bien cru comprendre que tu savais activer manuellement les options dans unattended-upgrades. C'était plutôt ton avis sur la mise en place de ces options qui m'intéressait et si une tâche cron te semblait appropriée pour l'ajout de ces options....ou si tu as une autre suggestion pour clean (autoclean et autoremove peuvent être gérés directement à partir de unattended-upgrades comme tu le mentionnes).

le but  est de rendre votre  votre script plus utile  (installation automatique + notification + garder un cache propre + nettoyage du système = MAJ_Auto )

Si tu pouvais me confirmer que j'ai bien compris la démarche :
installation automatique= Unattended-upgrades (la version maj_auto actuelle)
Notification= Script de Gaara
cache propre= équivalent de apt-get autoclean && apt-get autoremove
nettoyage du système= équivalent de apt-get clean

Hors ligne

#181 Le 21/08/2014, à 09:36

linuxm@c

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

metalux a écrit :

Si tu pouvais me confirmer que j'ai bien compris la démarche :
1- installation automatique= Unattended-upgrades (la version maj_auto actuelle)
2- Notification= Script de Gaara
3- cache propre= équivalent de apt-get autoclean && apt-get autoremove
4- nettoyage du système= équivalent de apt-get clean

oui pour 1+2+3,

mais pas pour le Nro 4 , car le nettoyage a mon avis  est:
- Supprimer les logiciels orphelins
- Supprimer Les résidus des logiciels
- vider  les corbeilles :
- Supprimer les miniatures des images
- Supprimer des fichiers de sauvegarde
- Suppression des anciens noyaux


exemple

echo "Script de nettoyage d'Ubuntu"
sudo apt-get autoclean
echo "Les paquets périmés ont été supprimés OK"
sleep 3
find ~/.thumbnails -type f -atime +7 -exec rm {} \;
echo "Icônes supprimés"
rm -r -f ~/.local/share/Trash/files/* 
echo "Corbeille vidée"
sleep 3
find ~/ -name '*~' -exec rm {} \;
echo "Fichiers temporaires (terminant par ~) du dossier HOME ont été suprimmés"
echo "Nettoyage terminé"

Un peux de doc: nettoyer_ubuntu   +  supprimer les paquets  + Suppression des anciens noyaux

NB: Tout ça est possible par gui (BleachBit+FSlint+ubuntutweak.....etc)  , mais c`est mieux  en cli

=-=je vous remercie pour votre compréhension =-=

Hors ligne

#182 Le 23/08/2014, à 09:37

Gaara

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Ce qui serait génial aussi c'est que quand on ajoute un PPA via apt-add-repository, il soit automatiquement ajouté dans la liste des PPAs màj auto... (ou qu'une question apparaisse pour l'ajouter ou non)
Mais j'en demande peut-être beaucoup ...
Sinon (plus simple), une entrée dans le menu configuration, pour ne pas rechercher le script dans les méandres du home ?

Edit: pour la proposition de linuxm@c, à mon avis le vidage de la corbeille n'a rien a voir avec les mises à jour, la corbeille est faite pour récupérer des fichiers éventuellement. Donc vidage manuel quand on est sûr.
Toutes ces suppressions sont plus de la maintenance, mais pour ma part les miniatures des images je souhaite les garder... Donc à part ajouter toutes ces options en on/off, je pense que c'est superflu.
L'idée d'enlever les anciens noyaux, pareil, des fois ça dépanne bien de démarrer sur un ancien noyau...
Trop vouloir faire le ménage peut-être un inconvénient, tout ça pour libérer quelques centaines de Mo sur le disque.
Par contre vider le cache, oui sans soucis.
Voilà, c'était mon avis smile

Dernière modification par Gaara (Le 23/08/2014, à 09:51)


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

#183 Le 24/08/2014, à 20:51

linuxm@c

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Gaara a écrit :

PPA soit automatiquement ajouté

peux etre vous voulez dir

sudo add-apt-repository ppa:ton-ppa -y

(en ajoute -y)


Gaara a écrit :

le vidage de la corbeille n'a rien a voir avec les mises à jour

c`est sur , car en parle de nettoyage et pas de maj.
en peux le programmer automatiquement après une durée de 7 jour  par exemple


Gaara a écrit :

L'idée d'enlever les anciens noyaux, pareil, des fois ça dépanne bien de démarrer sur un ancien noyau...

vous pouvez conserver   les deux derniers seulement

Pour conserver  le noyau précédent voir ici + discussion   + résumé + edit_script

Dernière modification par linuxm@c (Le 25/08/2014, à 13:10)

Hors ligne

#184 Le 25/08/2014, à 14:27

Gaara

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Salut,

L'option -y ne modifie pas le fichier /etc/apt/apt.conf.d/50unattended-upgrades, je viens d'essayer.
C'est ce fichier qui renseigne unattended sur les PPAs à mettre à jour automatiquement.
Cette option est juste pour ne pas revalider l'ajout.

Par contre on peut créer un script qui modifie ce fichier et lance add-apt-repository dans la foulée, ça c'est faisable. Du genre

sudo apt-add-repository-auto ppa:nom_du_ppa

C'est juste un exécutable lien symbolique dans usr/bin/ qui pointe vers un exécutable.py (ou sh), qui lui, est à mettre dans /usr/share/dossier_du_logiciel/
(d'ailleurs je vais voir si je peux pas bricoler ça en python, si metalux n'a pas le temps)

Pour les noyaux, ça m'est arrivé de ne pouvoir redémarrer qu'en remontant au 5ème, voire au 6ème ! Donc je préfère les garder, ce n'est pas la place qui me manque.
La corbeille pourquoi pas, mais ça sort un peu du but premier du logiciel, à savoir Mises à Jour Automatiques, et non Nettoyage Automatique...

Dernière modification par Gaara (Le 25/08/2014, à 14:40)


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

#185 Le 25/08/2014, à 16:52

linuxm@c

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Gaara a écrit :

le but  du logiciel, à savoir Mises à Jour Automatiques, et non Nettoyage Automatique...

Bonjour,
l`idée est clair maintenant

Hors ligne

#186 Le 25/08/2014, à 20:49

metalux

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

@linuxm@c
Pour ce qui concerne le nettoyage, je me donne le temps de réfléchir si je l'intègre ou pas, ce n'est pas le but de ce script à la base et il existe plusieurs solutions déjà existantes pour le faire.
D'ailleurs si je le fais, il ne s'agira qu'une équivalence de "apt-get autoremove && apt-get clean" pour supprimer les paquets devenues superflus et vider le cache pour récupérer de l'espace. Pour le reste (corbeille,noyau,etc...) j'ai la même analyse que Gaara et je suis de son avis.
Pour un usage avancé pour garder un cache propre en utilisant apconcd ou dépôt_local, les options restent éditables manuellement comme tu l'as fais et les utilisateurs de tels solutions doivent quand même être très minoritaires et savent certainement le faire sans difficultés wink
@Gaara

Gaara a écrit :

Ce qui serait génial aussi c'est que quand on ajoute un PPA via apt-add-repository, il soit automatiquement ajouté dans la liste des PPAs màj auto... (ou qu'une question apparaisse pour l'ajouter ou non)

Excellente idée! big_smile
Une question est préférable, l'idée de maj_auto est de pouvoir mettre à jour automatiquement mais aussi de choisir quels P.P.A. sont autorisés à le faire. L'ajout ne doit pas être systématique, le choix est préférable. Une question du genre:
Voulez-vous que les mises à jour soient effectuées automatiquement pour ce P.P.A? (O/n)
Le Oui peut-être mis par défaut.

Gaara a écrit :

C'est juste un exécutable lien symbolique dans usr/bin/ qui pointe vers un exécutable.py (ou sh), qui lui, est à mettre dans /usr/share/dossier_du_logiciel/
(d'ailleurs je vais voir si je peux pas bricoler ça en python, si metalux n'a pas le temps)

Si tu le fais en python, le plus simple ne serait pas de modifier le fichier /usr/bin/add-apt-repository?
Je regarderai mais effectivement, pas trop le temps en ce moment. Après si je le fais en bash, j'aurai moins de mal à l'intégrer à maj_auto, tu sais, le python et moi ça fait 2.
Ton idée, c'est d'utiliser une autre commande (apt-add-repository-auto) pour ajouter le dépôt à Unattended-upgrades? Si oui, dans ce cas la question n'est plus nécessaire, apt-add-repository si pas d'ajout, apt-add-repository-auto si ajout. Ça simplifie les choses, il n'y en a pas pour longtemps à faire ça, j'essaierai de faire une maj du script d'ici peu.
Par contre pas trop compris l'histoire du lien symbolique, pourquoi ne pas le mettre directement dans /usr/bin comme c'est le cas avec add-apt-repository? Ou éventuellement dans /usr/local/bin

Gaara a écrit :

Sinon (plus simple), une entrée dans le menu configuration, pour ne pas rechercher le script dans les méandres du home ?

J'y pense depuis....très longtemps. Pour ça, il faudrait que je fasse un deb, l'intention est là, le passage aux actes un peu moins cool
Edit: Je viens d'essayer en ajoutant os.system('sh mon_script.sh') à la fin de /usr/bin/add-apt-repository et ça fonctionne. Qu'en penses-tu?

Dernière modification par metalux (Le 25/08/2014, à 21:09)

Hors ligne

#187 Le 25/08/2014, à 22:30

Gaara

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

@metalux

L'ajout ne doit pas être systématique, le choix est préférable.

Totalement d'accord avec ça.
Nos deux solutions permettent le choix, c'est ce qu'il faut.

Voulez-vous que les mises à jour soient effectuées automatiquement pour ce P.P.A? (O/n)
Le Oui peut-être mis par défaut.

Ce serait le top, mais... à mon avis il vaudrait mieux une commande différente avec un script à part, je m'explique plus loin.

le plus simple ne serait pas de modifier le fichier /usr/bin/add-apt-repository?

Justement, je pense qu'il ne faudrait pas le modifier. Si le paquet est mis à jour, le script sera écrasé, alors il faudra le remodifier. Et je sais pas comment faire ça d'une manière transparente et automatisée.
Mais si tu sais faire, au contraire !
Comme je modifie déjà apt pour la notification (pas encore trouvé d'autre moyen), il ne faudrait pas changer trop de scripts originaux, plutôt ajouter des commandes. Enfin ça dépend comment c'est fait.

Par contre pas trop compris l'histoire du lien symbolique, pourquoi ne pas le mettre directement dans /usr/bin comme c'est le cas avec add-apt-repository? Ou éventuellement dans /usr/local/bin

add-apt-repository est un lien symbolique, car il est écrit en python 3.
Le lien symbolique c'est juste pour avoir une commande sans .py, Il redirige vers executable.py. Ainsi, la commande est commande [argument], et non commande.py [argument].
Mais c'est peut-être pas utile pour un script shell.
Pour l'icone et le menu, c'est de la finition, c'est sûr. Mais ça fait jôli !

J'ai aussi fait un essai, mais en python:
sudo apt-add-repository-auto ppa:exemple
fonctionne bien (pour l'ajout). Mais il ne faut pas oublier l'argument --remove qui peut être appelé, et donc prévoir le retrait du ppa dans 50unattended, en même temps que le ppa.
Et je pense aussi que
sudo apt-add-repository-auto ppa:exemple --remove
doit aussi bien fonctionner que
sudo apt-add-repository-auto --remove ppa:exemple

Après, si ça fonctionne sans auto, ce serait encore mieux, avec la question O/n. Mais est-ce "secure" pour le long terme ?

Question bonus: Est-ce que ppa-purge fonctionnera avec tout ça ?

Dernière modification par Gaara (Le 25/08/2014, à 22:31)


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

#188 Le 26/08/2014, à 15:56

Gaara

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Bon, voilà, c'est terminé (enfin je crois...) big_smile

Script pour mettre à jour la liste des mises à jour automatiques en ajoutant le ppa

Installation:
0- Depuis le 3/10/2014: ce script est dispo dans un ppa (12.04 / 14.04 / 14.10):

sudo apt-add-repository ppa:yoggic/maj-auto
sudo apt-get update
sudo apt-get install apt-add-repository-auto

Ou méthode manuelle:
1- créer un dossier maj-auto dans /usr/share/

sudo mkdir /usr/share/maj-auto

2- créer le fichier avec gedit (pour moi c'est kate, mais ça peut-être leafpad ou un autre éditeur)

gksudo gedit /usr/share/maj-auto/add-apt-repository-auto.py

3- coller ces lignes de code, puis enregistrer.

#!/usr/bin/python
# -*- coding: utf-8 -*-

#########################################################################################
#######                     apt-add-repository-auto.py v 1.0                 ############
#######  permet de mettre à jour /etc/apt/apt.conf.d/50unattended-upgrade    ############
#######                            à l'ajout d'un ppa                        ############
#########################################################################################


import sys
import platform
import subprocess
import shutil
import os
import time

#subprocess.call("clear", shell=True)  # permet d'effacer le terminal (pour les tests)

# aide
usage = """Usage: apt-add-repository-auto <sourceline>

apt-add-repository-auto est un script pour ajouter les ppa
dans la liste des entrées, et pour ajouter le ppa aux mises
à jour automatiques.

<sourceline> - Un répertoire du ppa à ajouter.                                                                                                            
  Exemple:                                                                                                                            
    apt-add-repository-auto ppa:user/repository

Options:
  -h, --help            afficher cette aide et sortir
  -r, --remove          retirer le dépôt du répertoire sources.list.d et de la liste maj_auto
  -y, --yes             Répondre « oui » à toutes les requêtes"""

# recherche du code distribution
distrib=platform.dist()
code_name = distrib[2]

# recherche du home
user = os.getenv("SUDO_USER")
try:
    home = "/home/" + user
except:
    print "Ce programme doit s'exécuter avec 'sudo'"
    exit()

# extraction de(s) argument(s)
arguments = sys.argv
nbr_arg = len(sys.argv)-1

if nbr_arg == 0:
   print usage
   exit()
if nbr_arg >= 1:
   arg1 = sys.argv[1]
   if "ppa:" in arg1 and "/" in arg1:
      if "-r" in arg1 or "-y" in arg1 or "--yes" in arg1 or "--remove" in arg1:
         print "Vérifiez votre syntaxe."
         print "'apt-add-repository-auto -h' pour afficher l'aide"
         exit() 
      ppa_ini = arg1
   elif arg1 == "--help" or arg1 == "-h":
      print usage
      exit()
   elif arg1 == "--yes" or arg1 == "-y":
      silent = 1
   elif arg1 == "--remove" or arg1 == "-r":
       remove = 1
   else:
      print "Vérifiez votre syntaxe."
      print "'apt-add-repository-auto -h' pour afficher l'aide"
      exit()
   
if nbr_arg >= 2:   
   arg2 = sys.argv[2]
   if "ppa:" in arg2 and "/" in arg2:
      ppa_ini = arg2
   elif arg2 == "--yes" or arg2 == "-y":
      silent = 1
   elif arg2 == "--remove" or arg2 == "-r":
      remove = 1

if nbr_arg == 3:  
   arg3 = sys.argv[3]
   if arg3 == "--remove" or arg3 == "-r":
       remove = 1
   elif "ppa:" in arg3:
       ppa_ini = arg3
   elif arg3 == "--yes" or arg3 == "-y":
       silent = 1
   else:
       remove = 0
       silent = 0

if nbr_arg > 3: 
   print "Vérifiez votre syntaxe."
   print "'apt-add-repository-auto -h' pour afficher l'aide"
   exit()
try:
  ppa_ini
except:
  print "Aucun PPA renseigné."
  print "'apt-add-repository-auto -h' pour afficher l'aide"
  exit()
try:
  remove
except:
  remove = 0
try:
  silent
except:
  silent = 0

# vérification root
if os.getuid() == 0:
    pass
else:
    print("Erreur : doit être exécuté en tant que super-utilisateur (root)")
    exit()

# main
a = 0
b = 0   
ver = 0
if remove == 0:   
  print "Ajout du ppa " + ppa_ini + " dans la liste des mises à jour automatique et dans la liste des ppa."
  
  # construction du nouveau fichier 50unattended-upgrade.temp
  lookup = '};'
  unat = open("/tmp/50unattended-upgrades.temp", "w")
  unat.close()
  unat = open("/tmp/50unattended-upgrades.temp", "a")
  with open("/etc/apt/apt.conf.d/50unattended-upgrades", "r") as fichier_ppa:
    for num, line in enumerate(fichier_ppa, 1):
      a = a+1
      if lookup in line:
          break
      else:
          unat.write(line)
   
  ppa = ppa_ini.replace("/", "-")
  ppa = ppa[4:]
  ajout = '"LP-PPA-' + ppa + ':' + code_name + '";'
  unat.write(ajout)
  unat.write("\n")
  #lookup2 = '//Acquire::http::Dl-Limit "70";'
  with open("/etc/apt/apt.conf.d/50unattended-upgrades", "r") as fichier_ppa:
     for num, line2 in enumerate(fichier_ppa, a):
        b = b+1
        if b>a-1:
           unat.write(line2)
  unat.close()    
  print "Ajout du ppa dans la liste de mises à jour automatique terminé."
  time.sleep(1)
  # copie de 50unattended-upgrade.temp vers /etc/apt/apt.conf.d
  shutil.copy2("/tmp/50unattended-upgrades.temp", "/etc/apt/apt.conf.d/50unattended-upgrades")
  shutil.copy2("/tmp/50unattended-upgrades.temp", home + "/.savunattended/last.bak")
  os.remove("/tmp/50unattended-upgrades.temp")
  # ajout du ppa dans list.d
  cmd = "apt-add-repository " + ppa_ini
  if silent == 1:
      cmd = "apt-add-repository --yes " + ppa_ini
  subprocess.call(cmd, shell=True)
  
elif remove == 1:   
  print "Suppression de " + ppa_ini + " de la liste des mises à jour automatique et de la liste des ppa."
  lookup = ppa_ini[4:]
  lookup = lookup.replace("/", "-")
  lookup = lookup.replace("-ppa","")
  unat = open("/tmp/50unattended-upgrades.temp", "w")
  unat.close()
  unat = open("/tmp/50unattended-upgrades.temp", "a")
  with open("/etc/apt/apt.conf.d/50unattended-upgrades", "r") as fichier_ppa:
    for num, line in enumerate(fichier_ppa, 1):
      a = a+1
      if lookup in line:
          ver = 1
          pass
      else:
          unat.write(line)
  unat.close()    
  # copie de 50unattended-upgrade.temp vers /etc/apt/apt.conf.d
  if ver == 1:
      shutil.copy2("/tmp/50unattended-upgrades.temp", "/etc/apt/apt.conf.d/50unattended-upgrades")
      shutil.copy2("/tmp/50unattended-upgrades.temp", home + "/.savunattended/last.bak")
      os.remove("/tmp/50unattended-upgrades.temp")
      print "Le ppa a été enlevé de la liste des mises à jour automatique."
  else:
      print "Aucun ppa de ce nom n'a été trouvé dans la liste des mises à jour automatiques."
  time.sleep(1)
  # suppression du ppa de list.d
  cmd = "apt-add-repository --remove " + ppa_ini
  if silent == 1:
      cmd = "apt-add-repository --remove --yes " + ppa_ini
  subprocess.call(cmd, shell=True)

4- Fermer gedit
5- rendre le script exécutable:

sudo chmod +x /usr/share/maj-auto/add-apt-repository-auto.py

6- créer les liens symboliques (les deux existent, je l'ai découvert)

sudo ln -s /usr/share/maj-auto/add-apt-repository-auto.py /usr/bin/add-apt-repository-auto
sudo ln -s /usr/share/maj-auto/add-apt-repository-auto.py /usr/bin/apt-add-repository-auto

Usage:

apt-add-repository-auto --help

Et ensuite c'est bon, la liste des maj auto est mise à jour automatiquement si on met -auto à la commande habituelle (sans espace).

sudo apt-add-repository-auto ppa:exemple

Pour enlever un ppa:

sudo apt-add-repository-auto --remove ppa:exemple

On peut utiliser la commande sans -auto pour un ajout normal: la liste des maj_auto ne sera pas actualisée.

sudo apt-add-repository ppa:exemple

Voilà! smile
ps: c'est la version 0.1, ça peut-être un peu instable (cascadeurs seulement). J'ai essayé 3 ou 4 ppa, ça a l'air de fonctionner.
En attendant le paquet, ou le ppa maj_auto.

Dernière modification par Gaara (Le 03/10/2014, à 17:34)


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

#189 Le 26/08/2014, à 18:32

metalux

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Eh bien, je vois que tu ne perds pas de temps pour scripter!
Je teste prochainement et je te tiens au jus.

Gaara a écrit :

ps: c'est la version 0.1, ça peut-être un peu instable (cascadeurs seulement). J'ai essayé 3 ou 4 ppa, ça a l'air de fonctionner.

T'inquiètes, je prévoirai le casque lol

Hors ligne

#190 Le 26/08/2014, à 21:23

metalux

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

J'ai testé et il manque l'intégration avec maj_auto. Il faut effectuer une copie du fichier /etc/apt/apt.conf.d/50unattended-upgrades après sa modification qui écrase le fichier ~/.savunattended/last.bak. Sinon tout est parfait.
Modifie dans ton post précédent les liens symboliques, ils sont erronés dans ton message:

sudo ln -s /usr/share/majauto/add-apt-repository-auto.py /usr/bin/apt-add-repository-auto
sudo ln -s /usr/share/majauto/add-apt-repository-auto.py /usr/bin/add-apt-repository-auto

Pourrais-tu ajouter également, si  ce n'est pas trop te demander, les mêmes options que add-apt-repository à savoir -r en plus de --remove, -h en plus du --help, -y et --yes?

Hors ligne

#191 Le 26/08/2014, à 21:57

Gaara

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Ok, je ferais les modifs demain pour les options. J'y ai bien pensé mais j'ai eu un peu la flemme, surtout pour gérer l'ordre des options. Je ne dois pas avoir la bonne méthode pour les récupérer.
J'avais pas pensé au .bak, mais c'est pas grand chose à ajouter. C'est sûr que ça sera mieux.
Par contre pour le lien, mon erreur est en fait depuis le tout début ! Chez moi le script s'appelle apt-add-repository-auto.py, j'ai été un peu perturbé.. Mais je change les liens, c'est pas grave.
Merci du retour !

Dernière modification par Gaara (Le 26/08/2014, à 21:58)


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

#192 Le 27/08/2014, à 14:18

Gaara

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Script mis à jour, version 0.2
Maintenant le tout est de ne pas oublier de l'utiliser tongue

Edit: J'ai fait une copie dans ~/.savunattended, c'est bien ici que tu voulais ?
Je pense qu'à l'avenir, ce serait mieux de mettre tout ça dans ~/.config/majauto ou ~/.cache/majauto pour faire plus propre.

Dernière modification par Gaara (Le 27/08/2014, à 14:22)


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

#193 Le 27/08/2014, à 21:47

metalux

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Gaara a écrit :

Edit: J'ai fait une copie dans ~/.savunattended, c'est bien ici que tu voulais ?

Oui mais le fichier doit s'appeler last.bak sinon maj_auto s'ouvre avec le P.P.A non coché comme si il n'était pas ajouté. Je crois que j'ai utilisé ce fichier pour conserver les paquets éventuellement blacklistés par l'utilisateur. Il faut que je remette le nez dedans mais je pense que je dois pouvoir simplifier en m'appuyant directement sur le fichier original. Pour l'instant donne juste le nom last.bak, ça fonctionnera dans l'immédiat.

Gaara a écrit :

Je pense qu'à l'avenir, ce serait mieux de mettre tout ça dans ~/.config/majauto ou ~/.cache/majauto pour faire plus propre.

Ok pour ~/.config/majauto...mais le changement va poser souci pour ceux qui utilisent déjà le script. Je verrai ça au moment de faire un deb (ou toi un P.P.A.) comme ça pas de modification pour la version actuelle. Mais c'est vraiment pas pour tout de suite, j'ai décroché un peu, il faut déjà que je me replonge dedans.

Hors ligne

#194 Le 28/08/2014, à 10:02

Gaara

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Ah ok, j'ai pas trop compris le fonctionnement de ton script, mais j'ai modifié le mien en copiant le fichier vers ~/savunattended/last.bak
Ben pour le deb ou le ppa, pour ceux qui veulent l'installer, c'est de reconfigurer tout à zéro, puis effacer le ~/.savunattended. C'est pas long
Mais ça fonctionne comme ça pour le moment, et puis on doit pas être très nombreux à l'utiliser.
La notification est de nouveau utilisable (plus de renseignements s'affichent), et en prime avec les coins de la fenêtre arrondis ! smile

Dernière modification par Gaara (Le 28/08/2014, à 10:02)


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

#195 Le 13/09/2014, à 10:54

Gaara

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Salut metalux,
Une petite question: Penses tu que ce soit possible d'intégrer le dist-upgrade à unattended?
Il a fallut que je le fasse à la main, car:

~$ sudo apt-get upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
Les paquets suivants ont été conservés :
  wine1.7 wine1.7-amd64 wine1.7-i386:i386
0 mis à jour, 0 nouvellement installés, 0 à enlever et 3 non mis à jour.

Le log de la notification n'est pas bavard sur ce point. (et le "update.log" a été effacé en plus, donc je n'ai pas de trace..)
Un sudo apt-get dist-upgrade à résolu le problème, mais si c'était automatique ce serait pas mal. (avec un choix supplémentaire lors de la configuration ?)

~$ sudo apt-get dist-upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
Les NOUVEAUX paquets suivants seront installés :
  ocl-icd-libopencl1:i386
Les paquets suivants seront mis à jour :
  wine1.7 wine1.7-amd64 wine1.7-i386:i386
3 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 37,3 Mo dans les archives.                                                    
Après cette opération, 999 ko d'espace disque supplémentaires seront utilisés.                             
Souhaitez-vous continuer ? [O/n]                                                                           
Réception de : 1 http://bouyguestelecom.ubuntu.lafibre.info/ubuntu/ trusty/universe ocl-icd-libopencl1 i386
Réception de : 2 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/ trusty/main wine1.7-amd64 amd64 1:1.7.26-
Réception de : 3 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/ trusty/main wine1.7 amd64 1:1.7.26-0ubunt
Réception de : 4 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/ trusty/main wine1.7-i386 i386 1:1.7.26-0u
37,3 Mo réceptionnés en 1min 45s (354 ko/s)                                    
Sélection du paquet ocl-icd-libopencl1:i386 précédemment désélectionné.
(Lecture de la base de données... 386663 fichiers et répertoires déjà installés.)
Préparation du décompactage de .../ocl-icd-libopencl1_2.1.3-4_i386.deb ...
Décompactage de ocl-icd-libopencl1:i386 (2.1.3-4) ...
Préparation du décompactage de .../wine1.7-amd64_1%3a1.7.26-0ubuntu1~ppa1_amd64.deb ...
Décompactage de wine1.7-amd64 (1:1.7.26-0ubuntu1~ppa1) sur (1:1.7.25-0ubuntu1~ppa4) ...
Préparation du décompactage de .../wine1.7_1%3a1.7.26-0ubuntu1~ppa1_amd64.deb ...
Décompactage de wine1.7 (1:1.7.26-0ubuntu1~ppa1) sur (1:1.7.25-0ubuntu1~ppa4) ...
Préparation du décompactage de .../wine1.7-i386_1%3a1.7.26-0ubuntu1~ppa1_i386.deb ...
Décompactage de wine1.7-i386 (1:1.7.26-0ubuntu1~ppa1) sur (1:1.7.25-0ubuntu1~ppa4) ...
Traitement déclenché pour  man-db (2.6.7.1-1) ...
Traitement déclenché pour  desktop-file-utils (0.22-1ubuntu1) ...
Traitement déclenché pour  mime-support (3.54ubuntu1) ...
Traitement déclenché pour  hicolor-icon-theme (0.13-1) ...
Paramétrage de ocl-icd-libopencl1:i386 (2.1.3-4) ...
Paramétrage de wine1.7-i386 (1:1.7.26-0ubuntu1~ppa1) ...
Paramétrage de wine1.7 (1:1.7.26-0ubuntu1~ppa1) ...
Paramétrage de wine1.7-amd64 (1:1.7.26-0ubuntu1~ppa1) ...
Traitement déclenché pour  libc-bin (2.19-0ubuntu6.3) ...

J'ai regardé un peu sur le net, mais c'est un peu flou, on parle juste d'une commande cron en plus, qui n'est pas une bonne solution selon moi, car n'utilise pas unattended..

Dernière modification par Gaara (Le 13/09/2014, à 10:57)


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

#196 Le 13/09/2014, à 18:41

metalux

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Gaara a écrit :

Une petite question: Penses tu que ce soit possible d'intégrer le dist-upgrade à unattended?

Je pensais que c'était le cas vu que j'ai la mise à jour des noyaux qui se fait apparemment par unattended-upgrade et que dist-upgrade soit nécessaire pour ça d'après Xabilon
Après une recherche (très) rapide, pourtant il semblerait que unattended ne fait pas l'équivalent de dist-upgrade. J'avoue ne pas trop comprendre là.
A défaut, le mail ne t’avertit pas de cela? Ça ne remplace pas complètement, mais ça ne se présente pas tous les jours ce cas de figure.
Pour les noyaux, tu peux me confirmer que la maj se fait bien avec maj_auto?

Hors ligne

#197 Le 13/09/2014, à 19:48

Gaara

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Oui, les noyaux s'installent correctement, pas de soucis à ce niveau là. Mais j'ai remarqué que ça fait plusieurs fois que wine ne se met pas à jour, le ppa est pourtant dans 50-unattended:

"LP-PPA-ubuntu-wine:trusty";

Je ne sais pas pourquoi ces paquets sont différents des autres..
Pour le mail, je l'ai configuré que pour des erreurs, donc je n'ai rien reçu, car ça ne doit pas faire partie des erreurs listées.
Je vais regarder ça de plus près, mais si c'est pas possible par unattended, je vais peut-être compléter mon script, du moins afficher un "warning".
Merci

Edit: Je viens de me rendre compte que j'ai mal lu le deuxième log de la notif (qui n'est pas supprimé), car il y a ces lignes:

+ eval apt-get -y -d dist-upgrade
+ apt-get -y -d dist-upgrade

Ça veut donc dire que le dist-upgrade est bien effectué!
Alors je ne comprend pas ce qu'il s'est passé...

Dernière modification par Gaara (Le 13/09/2014, à 19:53)


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

#198 Le 13/09/2014, à 22:33

metalux

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Pas si sûr que les paquets soient installés, il y a l'option -d

-d, --download-only
           Récupération seule ; les paquets sont récupérés mais ne sont ni
           dépaquetés ni installés. Élément de configuration :
           APT::Get::Download-Only.

Hors ligne

#199 Le 13/09/2014, à 23:30

Gaara

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

Ah ok, ça confirme la suite du log:

[...]
Les paquets suivants seront mis à jour :
  dput gcc-4.9-base gcc-4.9-base:i386 lib32gcc1 libgcc1 libgcc1:i386 xbmc
  xbmc-addon-dev xbmc-audio-dev xbmc-bin xbmc-pvr-dev xbmc-screensaver-dev
  xbmc-visualization-dev
13 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
[...]
Téléchargement achevé et dans le mode téléchargement uniquement
[...]
Démarrage du script de mise à niveau automatique
Les origines autorisées sont : etc

Donc il télécharge, vérifie si les paquets ne sont pas dans la liste noire, puis les installe. (je n'avais jamais remarqué ce fonctionnement)
Malgré tout, dans cette liste de paquets, il n'y a pas de wine ! tongue
Mais dans ce log, il n'y a pas non plus d'indicateur qui permet de détecter que d'autres paquets peuvent être mis à jour, donc pas possible de le notifier. Dommage !

Ou alors, les paquets wines sont arrivés entre temps... Et c'est pas impossible...

wine1.7 13 hours ago
Successfully built

Bon, réflexion faite, j'ai peut-être posé une question bête big_smile


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

#200 Le 15/05/2015, à 17:32

Daebis

Re : [Script] Mise à jour automatique pour tous les paquets (y compris PPA)

bonjour, j'aimerais savoir (de maniere amical) quelle est la difference entre ton script et y ppa manager ?
personnellement je le fait manuellement
http://paste.ubuntu.com/11123162/


PS: Si quelqu'un constate une inexactitude dans ce message merci de m'en informer par Mail ou MP pour ne pas flooder le sujet actuel, je prends en compte toutes remarques constructive. Merci.
Installeur Ubuntu, Spécialisé avec Lubuntu (LXDE), exGamer, et utilisateur de M$
électricien, technicien du spectacle et apprenti menuisier =)
https://doc.ubuntu-fr.org/utilisateurs/daebis

Hors ligne