#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.
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
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
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
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.
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 linuxOui, 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 ![]()
#3 Re : -1 » [Script Bash]Liste Paquets installés manuellement après l'installation » Le 07/05/2011, à 18:58
- quent57
- Réponses : 46
aptitude search '~i !~M' -F '%p' | grep "linux-" a écrit :linux-firmware
(...)
linux-sound-basePersonnellement, 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
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.![]()
#10 Re : -1 » [Script Bash]Liste Paquets installés manuellement après l'installation » Le 02/02/2012, à 17:32
- quent57
- Réponses : 46
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
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![]()
#13 Re : -1 » [Script Bash]Liste Paquets installés manuellement après l'installation » Le 29/04/2012, à 23:04
#14 Re : -1 » [Script Bash]Liste Paquets installés manuellement après l'installation » Le 12/05/2012, à 19:52
- quent57
- Réponses : 46
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 ...
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
fiPython
#!/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 ![]()
#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 ! ![]()
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
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
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 fiTu peux mettre :
if ! mdp=$(demanderMotDePasse) then return 1 fiOu même :
mdp=$(demanderMotDePasse) || return 1Au 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... :-DAussi 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 1me 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