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".
nombre réponses : 25

#0 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 07/05/2011, à 13:04

quent57
Réponses : 46

Merci pour le temps d'exécution et pour les infos !
Le paquet gstreamer0.10-ffmpeg, gstreamer0.10-fluendo-mp3, gstreamer0.10-plugins-bad, libavcodec-extra-52 doivent être ceux qui sont installés quand t'a pas les plugin et qu'on te demande "voulez vous pouvoir lire un mp3 ?".
Donc à réinstaller pour avoir un système propre.

Je ne vois pas l'intérêt d'utiliser zenity juste pour une barre de défilement (avoir un script en console avec une fenêtre pour attendre, ça fait bizarre !),
mais effectivement je pourrais mettre une barre de défilement (en console) qui représente exactement l'avancement du script (dans sa deuxième partie, boucle principale while). Cependant on a déjà de quoi attendre et ce n'est pas une priorité je pense.

Felix_Faure a écrit :

Ce sont peut-être des dépendances orphelines ou des résidus d'installation/désinstallation.

Pour moi tu parle de 2 fois la même chose, et ces résidus sont censés être installés automatiquement et donc ne pas être affichés.
En faite, pour les supprimer, faire "sudo apt-get autoremove" en console.

Alors tu vois "linux-headers-2.6.35-23, linux-headers-2.6.35-23-generic ou linux-image-2.6.32-25-generic." dans ta liste ?
A tu fais une mise à jour de version de Ubuntu de ce système ?
Si oui, c'est vrai que c'est pas géré dans ce script.
Sinon je ne comprend pas ce que font ces lignes ici, sauf si tu t'est amusé à installer ou supprimer des noyau linux

Felix_Faure a écrit :

Enfin, toujours dans le cas d'un outil pour la réinstallation d'un système, il serait pratique que ce script génère tout simplement un fichier qui corresponde à un script d'installation des paquets que l'on exécuterait sur le nouveau système.

C'est faisable, mais c'est aussi faisable à la main :
Ancien système :
./paquets_installes_manuellements.sh -s > paquets
Nouveau système :
cat paquets | sudo apt-get install

J'ajouterai ptet un truc pour que ce soit encore plus simple !

#1 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 07/05/2011, à 14:24

quent57
Réponses : 46
twocats a écrit :
dateInstal=$(cat /var/log/dpkg.log | grep "\ install\ " | head -1 | cut -d" " -f1)

Useless use of cat

dateInstal=$(awk '/ install / {print $1}' /var/log/dpkg.log | head -1)
allPackagesDate=$(cat /var/log/dpkg.log | grep "\ install\ " | cut -d" " -f1,2,4)

Useless use of cat

allPackagesDate=$(awk '/ install / {print $1,$2,$4}' /var/log/dpkg.log)

Je ne gère pas du tout awk, mais merci des indication, cela ira sûrement un peu plus vire

Mais pour le premier, le travail de traitement "prendre la premire colonne" est faite sur des centaines de ligne, au lieu d'une seul, ce n'est pas terrible il me semble.

Est-ce mal d'utiliser cat ?

#2 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 07/05/2011, à 17:36

quent57
Réponses : 46
twocats a écrit :

Est-ce mal d'utiliser cat ?

C'est inutile et alourdi le code. Dans la ligne :

dateInstal=$(cat /var/log/dpkg.log | grep "\ install\ " | head -1 | cut -d" " -f1)

grep gère parfaitement les fichiers :

dateInstal=$(grep "\ install\ " /var/log/dpkg.log | head -1 | cut -d" " -f1)

Merci, je vais corriger ceci dans la prochaine version.

Felix_Faure a écrit :
Quent57 a écrit :

Le paquet gstreamer0.10-ffmpeg, gstreamer0.10-fluendo-mp3, gstreamer0.10-plugins-bad, libavcodec-extra-52 doivent être ceux qui sont installés quand t'a pas les plugin et qu'on te demande "voulez vous pouvoir lire un mp3 ?".

Effectivement, j'ai du probablement installer cela avec un navigateur internet.

Quent57 a écrit :

Alors tu vois "linux-headers-2.6.35-23, linux-headers-2.6.35-23-generic ou linux-image-2.6.32-25-generic." dans ta liste ?
As tu fais une mise à jour de version de Ubuntu de ce système ?
Si oui, c'est vrai que c'est pas géré dans ce script.
Sinon je ne comprend pas ce que font ces lignes ici, sauf si tu t'est amusé à installer ou supprimer des noyau linux

Oui, j'ai dans ma liste :
admin         linux-image-2.6.32-25-generic          2010-09-02  18:38:41
...

J'ai effectivement fait une mise à jour de mon système lorsque je suis passé de Ubuntu 10.04 à 10.10. Mais je ne me suis jamais amusé à installer ou supprimer des noyaux Linux "à la main". Toutes ces mises à jour de noyau ont été faites automatiquement par le Gestionnaire de Mise à jour.

Par ailleurs, la remarque de Twocats concernant la suppression de "cat" lorsque l'on a un "grep" est très intéressante : je vais pouvoir simplifier quelques uns de mes scripts !

Alors en faite c'est plutôt les codecs qu'on installe avec totem.
La première fois que l'on veut jouer un fichier mp3 en locale, totem s'ouvre et nous demande d'installer les codecs.

Deuxièmement, lors de la mise à jours 10.04 à 10.10, de nombreux paquets ont été installés en manuelle.
Je ne gère pas du tout ceci pour l'instant, et ils sont tous affichés.
J'ai ma petite idée pour traiter ce problème, je ne sais pas si j'aurais le temps prochainement.

Mais cela n'expliqua pas les différentes lignes linux, je vais chercher pourquoi tu a ceci.
Peut tu me donner le résultat de

aptitude search '~i !~M' -F '%p' | grep "linux-"

Merci smile

#3 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 07/05/2011, à 18:58

quent57
Réponses : 46
Felix_Faure a écrit :
aptitude search '~i !~M' -F '%p' | grep "linux-" a écrit :

linux-firmware                                                                 
(...)                                             
linux-sound-base

Personnellement, ce résultat ne m'étonne pas particulièrement. Presque tous les deux mois, on a une nouvelle sous-version du noyau pour corriger des erreurs ou vulnérabilités qui est proposée en mise à jour. Ce sont d'ailleurs toutes ces versions du noyau que GRUB me propose au lancement de mon système pour un éventuel retour en arrière. Je croyais que c'était quelque chose de classique, parce que je suis plutôt un utilisateur "lambda" et je n'ai rien trafiqué sur mon système...

EDIT : on peut effectivement ne garder que le dernier noyau dans la liste de GRUB:
http://doc.ubuntu-fr.org/grub#ne_garder … s_la_liste

C'est normal d'avoir plusieurs version du noyau dans une utilisation classique.
En faite ce qui est bizarre c'est que ces paquets soit marqués comme étant installés manuellement.
Mais ce doit être juste une mesure de prévention automatique pour qu'un nettoyage automatique ne supprime pas le noyau linux suite a une mauvaise manipulation, ou un bug.

Je filtrerai donc les paquets linux-image et linux-headers

#4 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 07/05/2011, à 19:13

quent57
Réponses : 46

Bonjour AnsuzPeorth,
merci bien, je prend note de tes indications.

Oui, python serai une idée, ce qui est plus simple avec bash, c'est l'accès à des outils comme tail, head, grep, join, cut que je ne suis pas sur de retrouver dans python. De plus avec bash je peu lancer simplement des commande comme aptitude, dpkg et je ne sais pas bien comment cela marche avec python.

C'est quoi la différence entre << (que je crois connaitre) et <<< (que tu utilise) ?

En faite, aurais tu une bonne documentation bash qui explique tout cela ? J'ai trouvé plein d'intro sur le net, mais pas de tuto claire et complet.

Il faudrait que je me documente un peu sur python, ca pourrais m'être utile par la suite de toute manière.
Donc peut-être une v2 en python. (dsl je ne respecte pas les règle de nommage de numéro de version !).

#5 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 12/05/2011, à 22:32

quent57
Réponses : 46

Bon, du coup dès que j'ai de temps j'y refait en python (exams en ce moment ..)
Merci bien pour les infos !
2eme étape ce sera intégration a la logithèque Ubuntu, youpi, je rêve !
3eme proposition upstream (!!)
Reste à savoir si c'est un besoin pour beaucoup d'utilisateur. Ca me semble très important comme fonctionnalité mais y'a ptet que moi qui pense ça!
Au moins j'ai une base de demo a peu prêt fonctionnelle en bash, c'est déjà ça !

#6 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 23/10/2011, à 22:52

quent57
Réponses : 46
janvier42 a écrit :

Salut,
Super initiative, je trouve que c'est une bonne idée pour pouvoir facilement installer toutes ses applications en cas de réinstallation du système ou mise à jour de la version d'ubuntu.
Je voulais juste savoir où en était ton projet d'écriture du programme en python ?

Salut, je viens de voir ton message, je répond donc un peu en retard.
Au final Didier Roche à écrit un programme : OneConf, qui permet de faire cette synchro entre plusieurs PC. (Merci a lui !)
Ce programme est en faite une "extension" de la logithèque, et il est maintenant installé par défaut dans Oneiric. (Fichier -> Synchronisation entre ordinateurs).
Mon programme n’évoluera donc que très peu, mais il pourra toujours être utiles pour voir les changement que l'on a fait depuis l'installation du pc.

#7 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 24/10/2011, à 10:18

quent57
Réponses : 46

Bonjour TraGiKomiK,
merci pour ton retour, mais normalement, le cas que tu cite est déjà traité ici :


# adresse de base du fichier des logs.
log="/var/log/dpkg.log"

# on affiche d'abord les logs en gz (2-x) dans l'ordre inverse (x-2) puis les autres (.1 et néant) dans l'ordre inverse.
# on ne récupere que les ligne concernant une installation.
leslogs=$(echo -e "$(gunzip $(ls $log*.gz | sort -r )  --stdout ; cat $(ls $log* | grep -v ".gz" | sort -r ))" | grep "\ install\ ")

Cordialement
Quentin

#8 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 29/01/2012, à 21:22

quent57
Réponses : 46

Bonjour Markorki
Ce script marche toujours sous Ubuntu 11.10. (testé aujourd'hui).
Il a l'avantage d'être assez exhaustif, mais des paquets sont notés comme "installés manuellement" alors qu'ils ne le sont pas, il convient de faire encore un peu de tri. Les paquets ajoutés hors dépôts sont bien listés.

La logithèque possède une fonction "similaire" (depuis Ubuntu 11.10) qui permet de sauvegarder sur Ubuntu One ses programmes installés  et de les réinstallés facilement sur une autre installation. (On vois les programme présent sur un autre pc, mais pas sur le présent).
Mais il ne se base pas sur les logiciels installés 'manuellement'.

Inconvénient de cette méthode "Logithèque" pour moi
- Principalement les logiciels "graphiques" sont mis en avant
- Pour voire les autre logiciel, on a une liste exhaustive cette fois, donc très longue.
Cependant l'intégration a la logithèque est très pratique.

En tout cas ce script que j'ai développé coûte rien, prend 2 minutes,  et la liste pourra toujours servir une fois sauvegardée de coté !

Il faudrait j'intègre ceci à la logithèque également, mais c'est moins simple  !

N'hésite pas si t'a d'autres question/ si tu souhaite améliorer le script !!
Cordialement

#9 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 02/02/2012, à 10:58

quent57
Réponses : 46

Salut,
alors les erreur que tu as, je ne sais pas pourquoi elle apparaisse dans la console, ce n'est pas très beau. Quand a la raison de leur apparition, c'est assez explicite, tu dois avoir 2 fois le même dépôt. Ce n'est pas grave.

En faite le script est censé afficher a..b..c..d pour montrer sa progression. C'est la raison pour laquelle tu as dw ew, ne t'en soucie pas, cela veux juste dire w: soit warning.

Il n'y a aucun nom de package caché dans ces message d'erreur en tous cas.

La liste des logiciels est bien en bas. Il faut en effet supprimer toute les lignes qui contiennent linux.

Et je vois que tu exporte dans un fichier, si tu veux pouvoir réinstaller facilement les packages sauvegardés, jette un coup d'oeil a cette ligne de la doc :

Si on veut utiliser le script au sein d'un autre script, utiliser l'option -s qui permet d'afficher uniquement le nom des packages. C'est aussi notablement plus rapide.

wink

#10 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 02/02/2012, à 17:32

quent57
Réponses : 46
n3o51 a écrit :

quent57 pour les paquets sans aptitude

 dpkg -l | grep "^ii"

Merci pour l'info ! il faudrait quand même que je jette coup d'oeil si on a les mêmes résultats ou non, mais c'est intéressant.

#11 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 02/02/2012, à 17:37

quent57
Réponses : 46
n3o51 a écrit :
 dpkg -l | grep "^ii"

c'est pas mieux ca pour lister les paquets car moi j'utilise apt et non aptitude donc cette commande est indépendante enfin je pense .

Je trouve des résultats bien différent entre les 2 commandes :
$ aptitude search '~i !~M' -F '%p' | wc -l
1543
$ dpkg -l | grep "^ii" |  wc -l
2492

Je n'ai pas le temps de comparer plus en détail dans l'immédiat, mais je m'y pencherais.

#12 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 24/02/2012, à 20:28

quent57
Réponses : 46

Liste des paquets installés manuellement :
apt-mark showmanual
wink

#14 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 12/05/2012, à 19:52

quent57
Réponses : 46
AnsuzPeorth a écrit :

Oui, python serai une idée, ce qui est plus simple avec bash, c'est l'accès à des outils comme tail, head, grep, join, cut que je ne suis pas sur de retrouver dans python.

Ah, c'est sur, tu ne trouveras plus ce genre d'outils, c'est beaucoup plus simple en python.

(...)

Il faudrait que je me documente un peu sur python, ca pourrais m'être utile par la suite de toute manière.

Python est plus simple que bash je pense (pour une utilisation simple), par contre la POO, les classes, self, héritages & co, au début c'est un peu galère, mais après, quand on découvre la puissance ...

janvier42 a écrit :

Salut,
Super initiative, je trouve que c'est une bonne idée pour pouvoir facilement installer toutes ses applications en cas de réinstallation du système ou mise à jour de la version d'ubuntu.
Je voulais juste savoir où en était ton projet d'écriture du programme en python ?

J'ai (enfin) fais une version en python

J'ai implémenté une logique très similaire, il manque que 2 chose à la version en python : les colonnes ne sont pas aligné dans l'affichage des résultats, et il n'y a pas l'option -s.

Voici ce que j'en ai retenu :
  * Python légèrement plus rapide (python : 5.4 s, bash : 8 secondes)
  * Taille de Code sensiblement identique
  * Code python beaucoup plus lisible !
  * Code python sûrement plus extensible !
  * Logique code complètement différente !

Voici les 2 bases de code :
Bash :

#!/bin/bash

# Développeur : Quentin Bérard : dev@quent.fr
# Licence Creativ Common BY - SA http://creativecommons.org/licenses/by-sa/2.0/fr/ ou GPL v3

# version 1.3.0
# diff 1.2 et 1.3 passage à apt-mark showmanual
# diff 1.1 et 1.2 ajout de la ligne de commande -s, parcours de tous les /var/log/dpkg.log affichage de l'alphabet pour attendre
# diff 1.0 et 1.1 : beaucoup plus rapide, utilisation de join, affichage catégorie
# TODO : 
#   - supprimer la dépendance à aptitude 
#     - utiliser : /var/lib/apt/extended_states
#         - vérifier si on trouve les mêmes résultats
#         - arriver à parser le fichier.
#   - comportement après une maj de version de l'OS ?
#   - améliorer la rapidité du script
#       - remplacer apt-cache show par plus rapide
#   - filtrer les paquets linux-image et linux-headers
#   - supprimer cat quand c'est possible (suivi de grep)

# Notes :
# Lister les paquets installés : 
#   - dpkg -l 
#   - dpkg --get-selections
# Info sur paquet
#   - apt-cache show paquet
#   - dpkg --print-avail paquet
# Liste les paquets installés manuellements :
#   - apt-mark showmanual
#   - aptitude search '~i !~M' -F '%p'

# cat t1 | sort -k 3 : trier suivant la 3eme colonne

verbose=true
if (( $# >= 1 ));
then
    if [ $1 = "-s" ];
    then
        verbose=false
    fi  
fi

# adresse de base du fichier des logs.
log="/var/log/dpkg.log"

# on affiche d'abord les logs en gz (2-x) dans l'ordre inverse (x-2) puis les autres (.1 et néant) dans l'ordre inverse.
# on ne récupere que les ligne concernant une installation.
leslogs=$(echo -e "$(gunzip $(ls $log*.gz | sort -r )  --stdout ; cat $(ls $log* | grep -v ".gz" | sort -r ))" | grep "\ install\ ")

#la premiere entrée correspond forcément à un paquet installé par défaut lors de l'instal de l'Ubuntu.
#on récupère alors sa date d'installation.
dateInstal=$(echo "$leslogs" | head -1 | cut -d" " -f1)

#toute les dates d'installations, on ne prend que les colonnes intéressantes
allPackagesDate=$(echo "$leslogs" | cut -d" " -f1,2,4)

#tout les noms (-F '%p') des paquets installés (i) non automatiquement (!M)
packages=$(apt-mark showmanual)

if $verbose ;
then
    echo "Liste des paquets installés manuellement, et après l'installation de l'OS :"
    echo "Attendez 2 minutes !"
fi
liste=""
l=""

allPackagesDate=$(echo "$allPackagesDate" | grep -v "$dateInstal" )

#les - ne sont pas triés pareil
echo "$packages" | sort -k 1 > .doesntExistinstalledPackages
# tri sur la colonne des paquets
echo "$allPackagesDate" | sort -k 3 > .doesntExistdatedPackages
# jointure
join -1 1 -2 3 ".doesntExistinstalledPackages" ".doesntExistdatedPackages"  | tee ".doesntExistinstalledDatedPackages" >> "/dev/null"

#affiche la catégorie de l'arg1 sur la sortie
getCategory() {
    package=$1
    # propriétés du package, partie Section, afficher une seul ligne (souvent répété cf liboverlay-scrollbar-0.1-0)
    # puis enlever "Section: "
    cat=$(apt-cache show $package | grep "Section: " | head -1 | cut -d" " -f2)
    cat2=$(echo $cat | cut -d"/" -f2) #Section: universe/graphics
    if [ -z cat2 ];
    then # si "graphics"
        cat2=$cat
    fi

    echo "$cat2"
}

cat=""
liste=""
lastPackage=""
lastPackageLine=""
OLDIFS=$IFS
lettre=""
IFS='
'
for arg in $(cat .doesntExistinstalledDatedPackages)
do
    IFS=$OLDIFS # pour ne pas poluer le reste du programme

    # uniquement le nom
    package=$(echo "$arg" | cut -d" " -f1)

    # si le nom n'est pas nouveau, on n'affiche pas le dernier
    # si le nom est nouveau, on affiche le précédent
    if [ ! "$package" = "$lastPackage" ];
    then
        # pas le premier
        if [ ! $lastPackage = "" ];
        then
            if $verbose ;
            then
                # on recherche la catégorie
                cat=$(getCategory $lastPackage)
            fi
            # on ajoute a la liste
            liste=$(echo "$liste\n$cat $lastPackageWithDate")
        fi
    fi
    
    # on garde mémoire du dernier package avec la date
    lastPackageWithDate=$arg
    # on garde la mémoire du dernier package
    lastPackage=$package

    #affichage de l'alphabet d'attente
    if $verbose ;
    then            
        flettre=$(echo $package | head -c 1)
        if [ ! "$lettre" = "$flettre" ]; 
        then
            echo -n "$flettre"
            lettre=$flettre
        fi
    fi

#pour le prochain tours de for
IFS='
'
done

## on ajoute le dernier. ##
# on recherche la catégorie    
if $verbose ;
then
    #apres l'alphabet : un espace
    echo
    echo
    cat=$(getCategory $lastPackage)
fi
# on ajoute a la liste
liste=$(echo "$liste\n$cat $lastPackageWithDate")

if ! $verbose ;
then  
    # on passe le " " initiale
    liste=$(echo -e "$liste" | cut -d" " -f2)
    # plusieurs colonnes
    liste=$(echo -e "$liste" | column)
else
    #trie suivant la catégorie
    liste=$(echo -e "$liste" | sort)
    #mise en colonne 
    liste=$(echo -e "$liste" | column -t)
    #affichage
fi

echo -e "$liste"

#dossier temporaires
rm .doesntExistinstalledPackages .doesntExistdatedPackages .doesntExistinstalledDatedPackages

if $verbose ;
then  
    echo "[Entrée]"
    read
fi

Python

#!/bin/python

# adresse de base du fichier des logs.
log="/var/log/dpkg.log"

import subprocess
import os 
import gzip
import re


os.chdir("/var/log/")

# thanks to http://forum.hardware.fr/hfr/Programmation/Python/python-suppresion-doublons-sujet_103862_1.htm
def nub1(inpt):
   nv = []
   [nv.append(item) for item in inpt if not item in nv]
   return nv

class an_install:
    def __init__(self, name, date, hour, version ):
         self.name=name
         self.date=date
         self.hour=hour
         self.version=version
         self.cat=""
    def __eq__(self,other):
         return self.name.__eq__(other.name)


class dpkgFile:
    def __init__(self, name):
        self.name=name
    def get_installs(self):
        content=None
        if "gz" in self.name:
            content=gzip.open(self.name,"r")
        else:
            content=open(self.name,"r")
        installs=[]
        for line in content:
            line_vals=str.split(line, " ")
            operation=line_vals[2]
            if not operation=="install":
                continue
            nameI=line_vals[3]
            date=line_vals[0]
            hour=line_vals[1]
            version=line_vals[4]
            installs.append(an_install(nameI, date, hour, version))
        content.close()
        return installs



tabListFichier=[]

# recuperation de tous les fichiers de log de dpkg : 
listFichier = os.listdir(".")
for fichier in listFichier:
    if "dpkg.log" in fichier:
        tabListFichier.append(dpkgFile(fichier))

# tri des fichiers du plus recent au plus vieux.
tabListFichier.sort(key=lambda f: f.name)


# construction de la liste des installations
installs=[]
for dpkgF in tabListFichier:
    installs.extend(dpkgF.get_installs())

installs.sort(key=lambda f:f.date)
date=installs[0].date

installs2=[]
for install in installs:
   if install.date != date:
      installs2.append(install)



installs=installs2

for install in installs:
   if install.date == date:
      print "echec"


# recuperation de la derniere installation uniquement
installs=nub1(installs)


proc = subprocess.Popen(["apt-mark","showmanual"], stdout=subprocess.PIPE)
manualInstalls,err = proc.communicate()

manualInstallsList=[]
for manualInstall in str.split(manualInstalls,'\n'):
    if manualInstall != "":
        manualInstallsList.append(manualInstall)

installs2=[]
for install in installs:
   if install.name in manualInstallsList:
      installs2.append(install)

installs=installs2


section=re.compile("Section: ([^\n/]*)") 


for install in installs:
   proc = subprocess.Popen(["apt-cache","show",install.name], stdout=subprocess.PIPE)
   res,err = proc.communicate()
   cat=section.search(res)
   if cat is not None:
      install.cat = cat.group(1)

installs.sort(key=lambda f: f.cat)

for install in installs:
   print install.cat+" "+install.name+" "+install.date+" "

Je ferais évoluer la version python pour une meilleur détection des paquets installés lors de l'installation de Ubuntu, pour supprimer les paquets "linux", et d'autres fonctionnalités !

N'hésitez pas a me donner des conseils sur la version python !

PS : j'ai enfin pu supprimer la dépendance à aptitude wink

#15 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 13/08/2012, à 19:57

quent57
Réponses : 46

Merci a ce mail de yann ubuntu sur la ML ubuntu :

- Les paquets présents dans les ISOs sont listés dans les fichiers "manifest" de http://releases.ubuntu.com/8.04 , http://releases.ubuntu.com/12.04 , etc.
-  certains paquets sont retirés pendant l'installation sur disque, par exemple gParted, on peut en voir la liste dans le fichier manifest-remove présent dans le dossier /casper des ISO.
- les paquets présents dans les dépots officiels (mais pas forcément présents dans l'ISO) sont listés sur http://packages.ubuntu.com

#16 Re : -1 »  [Script Bash]Liste Paquets installés manuellement après l'installation » Le 06/09/2012, à 15:42

quent57
Réponses : 46

J'ai fais un "changlog" rudimentaire au début de mon script :
# version 1.3.0
# diff 1.2 et 1.3 passage à apt-mark showmanual
# diff 1.1 et 1.2 ajout de la ligne de commande -s, parcours de tous les /var/log/dpkg.log affichage de l'alphabet pour attendre
# diff 1.0 et 1.1 : beaucoup plus rapide, utilisation de join, affichage catégorie
Donc j'imagine que le version 1.2 diffusé dans la première page de cette discussion fonctionnera pour toi ! wink

Je regarderai si les commandes que tu m'a donné peuvent servir !

#17 Re : -1 »  Zotero et Firefox 10 ? » Le 06/02/2012, à 12:43

quent57
Réponses : 2

L'extension AddOn Compability Reporter te permet d'installer des extension non compatibles, tu peux toujours tenter d'activer la version 2 et de voir si ca marche. SI oui, signale le a addOnCompabilityReporter afin d'aider d'autres utilisateurs.

#18 Re : -1 »  [Resolu]Trier un grand nombre de photos. » Le 01/07/2011, à 15:53

quent57
Réponses : 10

Bonjour

Euu moi je propose shotwell.
plein écran avec F11.
ctrl 1 à 5 pour attribuer une note à la photo.
flèche droite / gauche pour se déplacer.

Puis on peux ensuite filtrer les photos par note (afficher que les 4/5 et 5/5 par exemple).
Jfais mes photos de concert comme ça (jusqu’à 800 pour 1 événement..).

Quent57

#19 Re : -1 »  Faire fonctionner Broadcom BCM 43225 et Natty » Le 17/05/2011, à 23:24

quent57
Réponses : 28
obrowny a écrit :

Oui j'ai hésité entre 32 et 64 bits... Bon après avoir tripatouillé fn+f3, ça fonctionne bien là, mais je ne l'ai pas éteint depuis. je teste un peu la mise en veille et la après 3 à 4 mises en veille, tout est nickel.
Il manquerait plus que la correction du bug kernel qui bouffe la batterie pour que l'on en profite à fond.
Avec un ssd  ça te fait une grosse différence? ça vaut le coup?
Perso, j'ai fait la démarche du remboursement. Je sais c'est chiant (et particulièrement avec ACER mais c'est ce qui nous permettra un jour d'avoir des ordis sans os.
Acer vient de perdre un procès le 8ème je crois et la justice devient de moins en moins tolérante avec eux ...

Les condition de retour de Acer sont injustifiés. (envoie du PC par la poste pour ceux qui ne savent pas).
Le montant est dérisoire (30€ sur plus de 200€ de logiciels au prix du marché...)
Rentrer dans leur jeu ne fait pas assez bouger les choses je pense, je suis sur un procès en ce moment, ça fera le 9eme gagné alors ?!

Sinon j'ai essayer de bidouiller le bluetooh et j'ai blacklister acer-wmi, et j'ai toujours des déconnexion intempestives.
Peut être un ping dans un cron toute les 5 secondes ?!!

Pour le ssd (j'ai pas essayé avec le HDD),  ca vas super vite ! (10s entre le grub et le gdm !, et ptet même moins je vais re mesurer !)
J'ai pris le ssd pour la rapidité, la solidité, la consommation, et la dissipation thermique.
Par contre pour la fiabilité ... mon ocz est tombé en panne (0 donnée, 0 partition avec testdisk) au bout de 2 semaine... sav toussa.

Quent

#20 Re : -1 »  Faire fonctionner Broadcom BCM 43225 et Natty » Le 05/06/2011, à 23:09

quent57
Réponses : 28

J'ai testé le ppa du dernier noyau linux.
Et de mon coté le wifi se déconnectant moins souvent, mais quand même trop souvent.
Et j'ai gagné plusieurs freeze avec ce noyau.
Je suis donc revenue sur le noyau par défaut.

#21 -1 »  Assistant de migration, synchronisation de préférence, de données. » Le 01/07/2011, à 15:37

quent57
Réponses : 0

Bonjour à tous.

J'ai envie de faire un logiciel qui permettent de synchroniser plusieurs PC sur les points suivants :
- Les applications installés
- Les préférences de ces applications
- Des données utilisateurs.

Exemples d'utilisations :
- Je possède 2 PC, un fixe et un netbook, je désire retrouver (presque) les mêmes applications sur les 2.
- Je possède 2 PC, un fixe et un netbook, je désire retrouver mes données personnelles sur les 2, exemples : flux RSS, mails thunderbird, ...
- J'installe une nouvelle beta Ubuntu, je souhaite réinstaller mes application habituelles ainsi que mes nautilus script, ...

Donc plusieurs composantes :
- Un stockage en ligne (chiffré), multi backend (Ubuntu One, ftp, ...),
    - utilisation de syncany ?
    - utilisation de encfs / Ubuntu One (cf mon script : http://forum.ubuntu-fr.org/viewtopic.php?id=472241 )
    - utilisation de rsync ?
- Récupérer les applications installés manuellement par l'utilisateur
    - cf mon script : http://forum.ubuntu-fr.org/viewtopic.php?id=473811
    - Proposition d'installation d'une appli installés sur un autre PC, sans obligation de l'installer pour autant
    - Tableau récapitulatif des appli installés sur tel machine
    - A faire : gestion 32bit/64bit, gestion des pilotes (ignorer ceux ci).
- Stockage des données des applis :
    -  Base de donnée communautaire ??!! ou pas, avec emplacement des donnée pour chaque appli dans le /home.


Que pensez vous de ce genre d'appli ?

En tout cas cela me manque cruellement, je n'ai jamais la bonne appli au bon endroit, chaque réinstallation me perd toutes mes appli installés et c'est lourd pour moi. Je galère avec mes flux rss Liferea, je voudrais la meme base sur tout mes PC.
Je me demandai aussi si une intégration à la logithèque serai la bienvenue. (retrouver mes applis installés sur les autres PC, rapatrié les préférences et donnés).

Cela résoudrai donc ceci.

Merci d'avance pour vos retour

#22 Re : -1 »  mon premier script » Le 13/05/2011, à 18:07

quent57
Réponses : 10

J'imagine que la fenêtre se ferme quand le programme est fini avant que t'ai pu voir quoi que ce soit.

2 solution :
- ajoute "read" avant le exit pour attendre une tape sur une touche.
- OU / ET lance ton script a partir de la console : "cd repertoire" puis "./script.sh".

#23 Re : -1 »  [Nautilus Script] Chiffrement des fichiers publiés sur Ubuntu One » Le 12/05/2011, à 22:02

quent57
Réponses : 5
nordinatueur a écrit :

Coucou !
Je viens de voir un peu ton script, et si je peux me permettre de te soumettre des améliorations ...
Au lieu de ça :

    mdp=$(demanderMotDePasse)
    if [ ! $? -eq 0 ] ; 
    then
        return 1
    fi  

Tu peux mettre :

    if  ! mdp=$(demanderMotDePasse)
    then
        return 1
    fi  

Ou même :

mdp=$(demanderMotDePasse) || return 1

Au début du script, j'ai ajouté la ligne (en fait il suffit de l'ajouter avant l'utilisation des variables nautilus-script.)

LISTE_FICHIERS=${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS:-${@}}

Et je remplace $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS par $LISTE_FICHIERS, dans les deux occurrences en fin de script.
Ainsi, on peut le lancer aussi en ligne de commande ET l'utiliser avec Thunar... :-D

Aussi la fonction demanderMotDePasse, remplit une variable « ret », puis tu la déverses dans « mdp »... Autant utiliser « ret » ou bien l'appeler « mdp »...

Enfin pour la substitution de commandes, il vaut mieux utiliser $( commande ), que `commande` ...

Sinon je trouve que c'est une très bonne initiative !
Merci :-D

Merci pour les infos !
j'ai toujours un peu de mal avec certaines subtilités du bach ! mais l'écriture

mdp=$(demanderMotDePasse) || return 1

me parrais beaucoup plus claire ! (et surtout plus concise), je vais essayer de l'utiliser plus !

Concernant

LISTE_FICHIERS=${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS:-${@}}

je ne comprend pas comment cela marche, peut tu m'expliquer ? (je ne connais pas la syntaxe :-${@}.
Cela ne vaudrais pas le coup d'y ajouter a la doc page "nautilus script" ?
Et pour les 2 dernier c'est de l'inattention (j'ai changé le doc et me retrouve avec un truc ret inutile !), mais je corrigerai.

Je n'ai pas trop le temps c'est temps ci (vive les exams), mais je tenterai d'améliorer un peu ceci !

PS, note :
- signaler si encfs n'est pas installé.
- utiliser les notification ubuntu
- retrouver la lib basée sur zenity (qui permet de faire des fenêtre un peu mieux) et l'utiliser

#24 Re : -1 »  [Nautilus Script] Chiffrement des fichiers publiés sur Ubuntu One » Le 13/05/2011, à 18:01

quent57
Réponses : 5

Merci pour les infos !

Pour le programme auquel je pensai, en remplacement de zenity, j'ai retrouvé ! c'est yad.

Yad sur Google Code
Un dépot pour yad : Y ppa manager sur Launchpad -> ppa:webupd8team/y-ppa-manager