Journal Counter-troll Ubuntu, une fois n'est pas coutume

Posté par .
Tags : aucun
11
19
oct.
2010
La vie est étrange, n'est-ce pas ? Tantôt belle, tantôt moche ; prenant parfois l'allure d'une campagne douce et agréable et parfois enfilant la vielle peau d'une Xanthippe acariâtre dont l'âge avancé a courbé, plié, presque brisé chaque membre mis à part la langue de vipère, ce muscle le plus puissant – dit-on – de tous les muscles de l'être humain et probablement le plus malfaisant. Pourtant, malgré les colères chroniques, disputes quotidiennes, les épisodes de désarroi qui ensuivent et la mort qui se fait tant attendre pour vous emporter ou, mieux, emporter l'autre, oui malgré toutes cette succession de tourments, vous ne pouvez vous empêcher d'éprouver pour cet être si vil, si vilain un drôle de sentiment, un sentiment, curieusement, bienveillant et protecteur, ce sentiment qui est pour certains la source de tous les maux de l'univers et pour bien d'autres la raison pour laquelle la vie vaut la peine d'être vécue, j'ai nommé : l'amour.

Il arrive, rarement, mais il arrive quand même que cet amour que l'on porte pour cet être plus ou moins cher, selon son humeur et la nôtre, nous fasse prendre conscience du fait que souvent la contrariété trouble les sens et tord le bon sens. C'est là que le héros de la formidable aventure qu'est votre vie se laisse tomber sur ses genoux devant sa bien aimée bien mal aimée, les bras tendus vers elle implorant son pardon et :
- "mea culpa " murmura-t-il, avant de brusquement se retourner et de prendre son visage entre ses mains, tel un loup-garou réalisant toute l'étendue de son irrémédiable monstruosité :
- " Je suis un connard ! " s'écria-t-il, " un connaaaaaaaaaaaaaaaard ! "

Vous allez me dire : « mais c'est quoi le rapport avec le libre ? » c'est une très bonne question anéfé. Tout cela ce n'est pas pour dire à quel point j'aime ma femme et que je regrette tout ce que j'ai pu lui dire ou lui faire et pour cause, en bon nerd no-life qui se respecte, je n'ai pour seule compagne que ma main gauche, pourquoi la gauche ? La réponse est on ne peut plus simple, enfin bref …

En fait, j'ai écrit ce journal pour m'absoudre de ma dernière diatribe trollesque [1] sur un sujet ma foi lui-même trollogène : le comportement de ma (votre) distribution Ubuntu 10.04 LTS.

Hier, vers 18 heures, j'ai voulu copier sur mon disque les fichiers téléchargés au matin à la fac sur ma clé USB. Problème : ma clé n'apparaît pas sur le bureau et ce n'est pas la première fois qu'elle me fait le coup, même le montage manuel à l'ancienne n'y a rien fait. Je me dit alors que j'ai peut-être tripoter VirtualBox il y a longtemps pour faire des « essais » (pour information, mes essais ont souvent des conséquences pires que les essais nucléaires français dans le film Gozilla. Si on choisi d'être bidouilleur, on ne choisi pas d'être maladroit). Finalement non, il n'y avait qu'une seule machine virtuelle Windows XP, que j'utilise essentiellement pour accéder au VPN, inaccessible depuis Linux en dépit de ce que prétend la documentation électronique de mon école. Je ne touche jamais à la machine virtuelle Windows car ce dernier, c'est bien connu, n'aime pas les bidouilles. Sur ladite machine RAS. Je la lance quand même pour voir … oups, VirtualBox râle fort pour un problème de driver kernel toussa et m'invite gentiment à faire un sudo /etc/init.d/vboxdrv setup. Je m'exécute illico, bah non, veut pas ! Selon le log, le problème réside dans la version de mes kernel-headers, la mise à jour ayant allégrement omis de l'inclure en faisant le ménage. Ce n'est pas automatique donc je n'en veut pas à la mise à jour, sauf que je suis un peu embêté car je n'ai pas internet chez moi, c'est con hein ? Et de ce fait je ne peux pas lancer la machine virtuelle Windows XP.

« Et la clé alors ? » me direz-vous. Ben, comme à chaque fois, je redémarre en la laissant branchée.

« Bon, le rapport avec le libre maintenant ... » mais calmez-vous messieurs-dames ! J'y arrive, j'y arrive. Le rapport avec le libre est sexuel, car je me suis encore un fois fait sauvagement égodé par Ubuntu sans préliminaires et sans lubrifiant. Oui, l'amour parfois c'est assez violent. Blague (de mauvais goût) à part, cette énième histoire avec Ubuntu m'a fait réfléchir sur mon propre rapport avec le libre en tant qu'utilisateur iota-kappa, c'est à dire un noob de base plus ou moins hacker.

Depuis 1999, entre Linux et moi, c'est l'amour avec un grand V ... comme Vache. J'ai connu Mandrake (Manragora, requiescat in pacem. Amen) j'ai connu Red Hat, J'ai connu Knoppix, j'ai connu Fedora – j'ai aussi connu d'autres distributions plus ou moins exotiques, mais enfin ce n'étaient que des aventures d'un (install) soir – et enfin j'ai j'ai connu Ubuntu. Là, je me suis dit, c'est la distribution de ma vie – Bon, je l'ai trompé un peu avec Debian mais c'étaient des rapports protégés i.e dans une machine virtuelle – on a vécu ensemble depuis 2004, nous avons célébré nos noces d'argent, d'or, de diamant de fullurène, de naquada, etc. et puis un jour elle m'a trahi, elle a commencé à pinailler. Je croyais qu'on gagnait en maturité avec l'âge, eh bien non, d'ailleurs, si on dit petit con, on dit aussi vieux con, comme quoi … Bref, après la mise à jour vers de la 9.04 à la 10.04 LTS elle a commencé à faillir à ses devoirs conjugaux, à chaque fois ce mal de tête et ce plantage intempestif qui revient pile quand je veut un petit câlin, à croire qu'elle le faisait exprès.
J'ai bien pensé au divorce mais après six ans de vie commune ; soit un éternité si on transpose l'âge d'une distribution à une vie humaine ; j'ai hésité et j'ai fermé le capot de mon portable le temps d'un week-end pour méditer sur la question et penser à notre avenir à tous les deux.

Ce soir, j'ai essayé de renouer les liens mais elle m'a opposé un visage boudeur et a dédaigné le bouquet de fichiers joliment emballé dans un périphérique amovible de stockage de masse que je lui ai offert. Là, tel Homer Simpson quand Marge l'envoie balader, je suis reparti triste, la tête baissée. Assis sur ma chaise j'ai repensé à tout ce qu'on a vécu ensemble et là … oui, là j'ai réalisé combien de services (avec ou sans démons) ma jolie sud-africaine m'a rendus, avec quelle diligence elle accourait quand je l'appelais, sans traîner les processus de démarrage comme cette salope de Redmond, avec quelle promptitude (je veut pas faire ma Ségo, mais « promptitude » n'est-ce pas ?) elle réagissait sans épuiser ni mes ressources ni mon porte-feuille, pas comme cette croqueuse de diamants, haut perchée sur son balcon tout en plexiglas, qui voulait faire de moi à la fois un esclave et un pigeon. Oui, la fille du milliardaire ne m'a jamais demandé un sou. Elle savait que j'étais fauché et pourtant elle m'a aimé pour ce que je suis. Finalement, est-ce que je ne pouvais pas pardonner de temps en temps ses écarts de caractères et ses petits bugs, certes, gênant mais nullement handicapant ? Je dois reconnaître qu'elle fait des efforts version après version, mais personne n'est parfait, et puis elle est tellement sexy, ah e bella distribuzione !

J'ai bien réfléchi, je préfère construire que détruire. Je vais essayer de faire des efforts pour préserver mon mariage, car moi aussi j'ai mon lot de défauts. Pardon Ubuntu, pardon ma chérie, je t'aime. Aller, just the two of us, we can make it if we try, just the two of us [chorus] oh the two of us !

[1] http://www.linuxfr.org/~marahi/30292.html
  • # Et la conclusion à en tirer...

    Posté par . Évalué à 10.

    ... c'est qu'il faut absolument que tu te trouves une copine, toi!!
  • # VPN sans Internet

    Posté par . Évalué à 10.

    Windows XP c'est quand même un système génial ! La preuve c'est que tu arrives à t'en servir dans une machine virtuelle pour te connecter à un VPN sur un ordinateur qui n'est pas relié à Internet.
  • # Réinstallation plutôt que mise à jour

    Posté par (page perso) . Évalué à 1.

    Plutôt que de faire des mises à jour majeur successives, je te conseille de réinstaller ton Ubuntu "from scratch".

    Cela dit, j'espère que tu as un /home sur une partition à part, cela n'en sera que plus facile.

    Une réinstallation complète permet de supprimer les fichiers & paquets devenus inutiles, et généralement, la machine marche mieux après cela.

    Evidement, tu perds toutes les configuration que tu as mis en place (exemple : serveur apache, serveur SQL, etc..), mais rien ne t'empêche de faire un bon backup du /etc/ avant de faire la mise à jour.

    Enfin, les migrations successives de GNOME ont pu plus ou moins corrompre ton ~/.gnome*/ Tu peux supprimer ces répertoires, et repartir sur un bureau "tout neuf". Mais bon, au passage tu perdras toutes tes personnalisation de GNOME et des applications qui y sont liées.
    • [^] # Re: Réinstallation plutôt que mise à jour

      Posté par (page perso) . Évalué à 5.

      Eh? t'as trop utilisé Windows, toi!
      Tu sais qu'il est possible de faire exactement la même chose sans tout réinstaller?
      Comme je ne le fais pas souvent - et pour cause - je ne connais pas ça par coeur, donc je ne détaille pas. De toute façon c'est dans la doc (Debian ou Ubuntu). Les gestionnaires aptitude et apt le permettent. Mais le plus accessible reste Synaptic qui propose une liste des paquets obsolète, des paquets orphelins (il faut installer deborphan pour que ça marche), des résidus de configuration (paquets désinstallés dont la conf a été conservée), et pour chaque paquet, des paquets en dépendant.

      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

      • [^] # Re: Réinstallation plutôt que mise à jour

        Posté par (page perso) . Évalué à 3.

        Toi tu n'as pas assez lu commentaire auquel tu réponds!

        Il sait très bien que les upgrades existent, il commence par le dire! Mais il fait remarquer qu'un système qui a subit plusieurs mises a jour majeurs est forcement moins "frai" qu'une installation toute neuve. C'est pas tout fait faux, après entre re-installation et upgrade, ca dépend fortement des cas, parfois il est préférable de re-installer, souvent une upgrade est la meilleure solution.

        Mais l'accuser de windowserie, c'est vraiment bas!
        • [^] # Re: Réinstallation plutot que mise à jour

          Posté par (page perso) . Évalué à 5.

          Toi tu n'as pas assez lu commentaire auquel tu réponds!
          Je n'y parles pas du tout d'upgrade!
          ;-p

          Les gestionnaires de paquets ne servent pas qu'à faire des mises à jour - sinon ils porteraient un nom différent. Une de leurs taches essentielles est de maintenir un système propre et frais, sans qu'on ait besoin de tout réinstaller, ce que je décris (pour les outils deb, mais on a la même chose avec rpm et certainement les autres aussi).

          Dire que parfois il est préférable de re-installer c'est typique des habitués à Windows. C'est généralement faux avec les distributions Linux. Et c'est encore plus faux avec Debian (et ses dérivés), qui est conçue entre autre pour ne pas être réinstallée. Ainsi une des réponses à la difficulté, toute relative d'installer Debian dans les annes 90, c'était qu'on ne l'installait qu'une fois. Un exemple: n'était l'obsolescence du matériel, j'aurai encore cette bécane sur laquelle j'ai installé Debian en 2000 ou 2001, depuis il n'y a eu que des mises à jour.

          "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

          • [^] # Re: Réinstallation plutot que mise à jour

            Posté par . Évalué à 6.

            Le mauvaises langues te répondraient que depuis 2001, si tu utilises stable, il y en a pas eu des masses de mises à jour.

            (Hop, ça c'est fait)

            --
            Un utilisateur d'unstable / testing qui ne réinstalle jamais.
        • [^] # Re: Réinstallation plutôt que mise à jour

          Posté par . Évalué à 3.

          Mais il fait remarquer qu'un système qui a subit plusieurs mises a jour majeurs est forcement moins "frai" qu'une installation toute neuve.

          Tu veux parler d'un système Windows. Parce que ma Kubuntu 10.10 qui subit des mises à niveau depuis 4 ans fonctionne toujours aussi bien.
          • [^] # Re: Réinstallation plutôt que mise à jour

            Posté par (page perso) . Évalué à 1.

            Ha oui? tu es en GRUB 1 ou GRUB 2 ?

            Si tu as fais des upgrades depuis 4 ans sans faire de bidouille particuliere, il y a fort a parier que tu as en GRUB1 (legacy version), si tu avais fait une fresh install de 10.04, tu aurrais un GRUB2.

            C'est un exemple comme un autre que les upgrades, ca n'est pas completement equivalent a une fresh install. Ca veut pas dire que ton systeme marche moins bien, ca veut dire que c'est pas pareil et que donc suivant les situation, ca peut avoir du sens de faire l'un plutot que l'autre.
            • [^] # Re: Réinstallation plutôt que mise à jour

              Posté par (page perso) . Évalué à 2.

              Sans faire de mauvais esprit, je trouve ton exemple particulièrement mal choisi... ;-)
              - avoir Grub1 plutot que Grub2 ne pollue en rien le système
              - si Grub1 marche bien, il n'y a pas de raison d'installer Grub2
              - on peut très bien choisir d'installer Grub2 en cours de route
              - je trouve plutôt normal de ne pas remplacer automatiquement un gestionaire de boot qui fonctionne très bien

              "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

              • [^] # Re: Réinstallation plutôt que mise à jour

                Posté par (page perso) . Évalué à 1.

                Super. C'est un exemple. On peut surement en trouver 50 autres. Mon seul point, c'est qu'une upgrade ce n'est 100% équivalent a une re-installation, que les deux chemins sont possibles, et que suivant les cas, l'un peut être plus intéressant que l'autre, et ce n'est pas toujours forcement l'upgrade qui est obligatoirement préférable.

                Et c'est super agaçant de se faire traiter de windowsien juste parce qu'on exprime cette idée qui relevé du simple bon-sens.
                • [^] # Re: Réinstallation plutôt que mise à jour

                  Posté par (page perso) . Évalué à 2.

                  Bien sûr que c'est agaçant, mais le problème c'est que tu n'argumentes pas. Et tu donnes un très mauvais exemple.

                  Evidemment qu'une installation neuve avec les options par défaut peut-être différente d'une mise à jour également par défaut. Mais quel intéret ? Quels seraient les avantages? Je me le demande vraiment, ce n'est pas de la rhétorique.

                  Enfin, ce que j'en dis, je m'en fiche un peu, hein. Chacun son truc. J'ai exprimé une opinion partagée par tous les d'admin système Linux expérimentés que je connais, voilà. Ce qui ne prouve rien, on est bien d'accord.

                  "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

                  • [^] # Re: Réinstallation plutôt que mise à jour

                    Posté par (page perso) . Évalué à 1.

                    Forcement si tu demande a des administrateurs de serveurs linux, ils vont te dire qu'ils ne font que des upgrades, et si tu me le demande, je te dirais que sur mes serveurs, je ne fais que des upgrades (ce qui ne signifie pas qu'un jour je ne ferais pas une re-installe).

                    Tu veux un cas concret? Mon vieux a un portable sur lequel j'ai installe une Ubuntu il y a des siècles. C'est peut-être une 8.10, un truc comme ca. Je sais qu'il n'a rien installe ni configure depuis que je lui ai laisse la machine. Et bien c'est clair que si il me demande de mettre sa machine a jour, je ne vais pas me galérer a faire tout le chemin 8.10 -> 9.04 -> 9.10 -> 10.4 ( -> 10.10 ) , je vais faire une ré-installation directement en 10.04 (ou 10.10, on verra), juste parce que ca va me faire gagner un temps considérable (surtout avec leur connexion internet en carton).

                    Tu vas me dire que je triche parce que je compare N upgrade a une installe, peut-être, mais si j'avais écris un journal en commençant par "Ce week-end, j'ai re-installe Ubuntu sur le portable de mon vieux", quelqu'un m'aurais certainement rétorque "ha ha! on re-installe pas un Linux, c'est un réflexe de Windowsien!" et on en serait au même point dans la discussion.

                    Quand je lis "Ha ha! re-installer c'est un réflexe de windowsien, on n'a jamais a re-installer un Linux, on ne fait que des mises a jour!" , j'ai l'impression d'avoir a faire a un nouveau converti un peu immature et extrémiste qui va préférer prendre un chemin peut-être plus long et sinueux pour une question d'orgueil (parce que re-installer est considérer par lui comme déshonorant) alors que quelqu'un de bêtement pragmatique va juste considérer les deux options et choisir la plus adaptée a son cas, sans en faire une religion.

                    Et si tu me demande, je te dirais que dans 80% des cas le chemin de la mise a jour est préférable, mon point c'est seulement que tu (ou un autre, je te vise pas toi en particulier) ne peut pas pointer du doigt et traiter de Windows un gars qui a dit qu'il a fait une ré-installation sans connaitre le détail de sa situation. Peut-être que la ré-installation ne se justifiait pas du tout dans son cas, mais le fait est qu'on ne peut surement pas le déterminer juste avec ce qui est dit la, et que crier a la windowserie , c'est nul.
                    • [^] # Re: Réinstallation plutôt que mise à jour

                      Posté par (page perso) . Évalué à 3.

                      En tant qu'admin, j'installe aussi des tas de postes de travail, et mes potes aussi. Ça ne change rien.

                      Et d'autre part tu triches (si si ;-) Parce que ce n'est pas toi qui a écris le journal. M'enfin, on ne va pas s'écharper pour si peu, tu défend ton bifteck, c'est normal de faire dévier la conversation. Et puisque tu es admin tu dois être barbu, les pieds nus sur la table, un stick (de moquette) au bec... hola, je dévie je me demande si c'est bien du café que je bois...

                      Je ne traitais pas exactement 'olivier' de windows, il y avait de l'humour dans tous mes messages (mais il est vrai qu'il manquait un smiley dans le premier). Mais je ne vois pas d'avantage a réinstaller pour se refaire toute la config après (c'est ce qu'il suggère).
                      Et on va s'arreter-là parce que je ne suis pas exactement un nouveau-venu immature extrêmiste prêt à défendre bec et ongle sa mauvaise foi. Je serai plutôt un vieux con d'admin qui s'en fiche un peu. Alors, si tu juges mes messages insultant eh bien c'est que j'ai eu tort, pas de problème et je présente mes excuses.

                      Sur-ce j'ai mon émulteur PDP-11 à finir (fine allusion).

                      PS: c'est évident, qu'il vaut mieux réinstaller que de se fader 4 mises à jour de suite.

                      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

                    • [^] # Re: Réinstallation plutôt que mise à jour

                      Posté par . Évalué à 1.

                      Quand on parle de réinstallation inutile, ce n'est pas que pour les mises à jour.

                      L'avantage d'une distribution sur un Windows, c'est que si quelque chose cloche, on peut le supprimer sans avoir à tout réinstaller.

                      Il y a quelque temps, c'est ce que j'ai fait : j'aurais pu réinstaller, mais à la place j'ai supprimé tout ce qui est graphique (X.org, GTK, etc) jusqu'à avoir un système minimal.
                      Puis j'ai pu réinstaller un à un les éléments dont j'ai besoin.

                      Ça revient à une réinstallation, mais sans en être une exactement, et surtout ça m'a fait gagner un temps précieux.

                      Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

      • [^] # Re: Réinstallation plutôt que mise à jour

        Posté par (page perso) . Évalué à 6.

        Eh? t'as trop utilisé Windows, toi!

        C'est quoi Windows ?

        Plus sérieusement, je suis suis sur Debian Testing depuis 4 ans, et avant j'ai fait 6 ans de Mandrake/Mandriva, donc les problèmes de mises à jour successives / roling release, je connais...

        Tu sais qu'il est possible de faire exactement la même chose sans tout réinstaller?

        Il ne t'est sans doute jamais venu à l'esprit que de temps en temps, les paquets pouvaient laisser de petites erreurs un peu partout ? Tu n'as jamais lancé un "aptitude update" à la main, et lu les intéressantes lignes qui s'affichaient à l'écran ? Dommage, tu aurais eu l'occasion de voir des messages d'avertissement :
        - Pas des trucs très problèmatiques, mais bon nombre de fichiers / répertoires qui ne sont pas purgés pour faute de répertoires non vides (exemple le plus souvent sur Debian Testing : Le /lib/modules/[version des kernels désinstallés]/).
        - Plus récemment encore, j'ai eu des entrées dans /etc/udev/ qui étaient fausses, et qui dataient d'un vieux paquets (Debian) à propos d'imprimantes HP.

        Le dernier truc en date : Je viens de lire que sous Ubuntu, Evolution vient de se débarrasser du dernier paquet bonobo. Je n'ai pas pu le vérifier (je suis Debian, et j'utilise KDE), mais je me demande si une mise à jour Ubuntu 9.xx -> 10.xx pense bien à supprimer tout ce qui traîne sur le disque à propos de bonobo. Si ce n'est pas le cas, il reste des paquets inutiles sur la machine. Chose que tu n'aurais pas si tu installais la même Ubuntu from scratch.

        Mais le plus accessible reste Synaptic qui propose une liste des paquets obsolète, des paquets orphelins (il faut installer deborphan pour que ça marche),
        Merci, mais je connais depuis un sacré bout de temps. Je me suis même fait un script à base de deboprhan et de dpkg,qui me purge les paquets obsolete et les paquets "rc" (synaptic est clairement trop long à démarrer)

        Enfin, pour ton info deborphan n'est pas 100% efficace. J'ai souvent trouvé des paquets installés sur ma machine qui n'étaient plus utiles (hors paquet "rc"). J'ai donc dûs les supprimer à la main.

        D'une manière générale, une Debian Testing prend en permanence du "poids" en terme de nouveaux paquets. Hors, une installation "from scratch" avec le même niveau de fonctionnalité ne possède pas le même nombre de paquets.
        • [^] # Re: Réinstallation plutôt que mise à jour

          Posté par (page perso) . Évalué à 2.

          T'énerves pas, on discute le sourire aux lèvres, c'est pas un duel au pistolet.

          Bien qu'il s'absente parfois, mon esprit connaît bien aptitude. En effet mes petites mains n'utilisent que ça depuis longtemps. Nous sommes donc tous les 3 habitués aux sorties d'aptitude et les défauts de désinstalaltionatlltional - ah zut j'abandonne! Je disais seulement qu'il y a des outils pour régler tout ça. Libre à toi de penser que ça ne suffit pas.

          PS: tu veux pas partager ton script?

          "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

          • [^] # Re: Réinstallation plutôt que mise à jour

            Posté par (page perso) . Évalué à 3.

            PS: tu veux pas partager ton script?

            Aucun problème


            #!/bin/bash -norc

            ###############################################################################
            # This program do maintenance package tasks
            #
            # This program is under licence GPL :
            # http://www.gnu.org/licenses/gpl.html
            #
            # This program:
            # - Remove orphan packages
            # - Remove 'rc' packages (see "dpkg -l" result)
            # - Some of 'rc' packages are not empty, so we could remove it let's user
            # to delete it manually (package list supplied)
            #
            # Author: Olivier ALLARD-JACQUIN / http://olivieraj.free.fr/
            # Version: 1.1
            # Creation date: 2008/09/06 Last update: 2009/02/16
            ###############################################################################

            TotalPackageCount() {

            LANG=C dpkg -l | \
            grep "^[ir][ic]" | \
            wc -l
            }

            PackageCouldBePurgedCount() {

            LANG=C dpkg -l | \
            grep "^[r][c]" | \
            wc -l
            }

            SelectEmptyPackageToPurge() {

            for I in `LANG=C dpkg -l |grep "^[r][c]"|awk '{print $2}'`; do

            if [ -n "`LANG=C dpkg -L $I | grep 'does not contain any files'`" ]; then

            echo -ne "$I "
            fi
            done
            }

            SelectNonEmptyPackageToPurge() {

            for I in `LANG=C dpkg -l |grep "^[r][c]"|awk '{print $2}'`; do

            echo -ne "$I "
            done
            }

            PurgeOrphanedPackage() {

            local Result

            echo "+ Looking for orphaned packages..."

            IFS=$'\n'
            local Orphaned=`deborphan`
            unset IFS
            if [ -n "$Orphaned" ]; then

            echo " - Orphaned packages found ($Orphaned)"
            echo -ne " Do you want me to purge orphaned packages ? [Y/n] "
            read Result

            if [ -z "$Result" ] || [ "$Result" == "Y" ] || [ "$Result" == "y" ]; then

            echo " - Purging orphaned packages... "
            aptitude purge $Orphaned
            Result="$?"

            if [ "$Result" == "0" ]; then

            echo " - Purging orphaned packages... OK"
            else

            echo " - Purging orphaned packages... FAILED"
            fi

            else

            echo " - Skipping orphaned packages purge !"
            fi

            else

            echo " - No orphaned package found"
            fi
            }

            PurgeRcPackage() {

            local Result

            echo "+ Looking for 'rc' packages..."

            local Packages=`SelectEmptyPackageToPurge`
            if [ -n "$Packages" ]; then

            echo " - 'rc' packages found ($Packages)"
            echo -ne " Do you want me to purge 'rc' packages ? [Y/n] "
            read Result

            if [ -z "$Result" ] || [ "$Result" == "Y" ] || [ "$Result" == "y" ]; then

            echo " - Purging 'rc' packages... "
            aptitude purge $Packages
            Result="$?"

            if [ "$Result" == "0" ]; then

            echo " - Purging 'rc' packages... OK"
            else

            echo " - Purging orphaned packages... FAILED"
            fi

            else

            echo " - Skipping 'rc' packages purge !"
            fi

            else

            echo " - No 'rc' package could be deleted"

            Result=`PackageCouldBePurgedCount`
            if [ "$Result" != "0" ]; then

            echo " - I've found $Result 'rc' packages, but they are not empty
            - If you want, you could maunally purge those package, by using following command :
            aptitude purge `SelectNonEmptyPackageToPurge`
            - Skipping purge..."
            fi
            fi
            }

            MainProgram() {

            echo "+ Total installed packages: `TotalPackageCount`"
            echo "+ 'rc' packages could be removed: `PackageCouldBePurgedCount`"

            PurgeOrphanedPackage
            PurgeRcPackage

            echo "+ Total installed packages: `TotalPackageCount`"
            echo
            }

            # Main program
            MainProgram


            La mise en page DLFP casse toute l'indentation, mais le code reste lisible.

            Si une action a été faite (purge d'un paquet, etc..), on peut relancer le script afin de voir si il n'y a pas d'autres actions à refaire (par exemple, un nouvel orphelin). Je dois l'améliorer pour intégrer cela dans une boucle, mais ce n'est pas une de mes priorité actuelle.
            • [^] # Re: Réinstallation plutôt que mise à jour

              Posté par (page perso) . Évalué à 2.

              En ayant réfléchi (les messages de case42 y ont contribué), je me suis dit que je n'avais jamais eu de problème non réglé par l'option purge ou par deborphan - ou alors jamais vu le problème, gloups! - mais que ça ne prouvait rien:
              un admin est bien placé pour savoir que les programmes ne fonctionnent pas toujours comme prévu (bugs ou incident matériel), il est donc certain que la désinstallation peut accidentellement laisser des traces, même sans message de log.
              Du coup je rebondis, sur une question plus large:
              comment se rendre compte qu'il y a des traces, si pas de log (ça m'étonnerait que deborphan suffise)?
              Et comment les enlever?
              Il y a bien sûr des procédés lourds, par exemple vérifier la provenance de chaque fichier avec dpkg, mais ce serait trop long, je pense (?). Personne n'a une astuce géniale?

              Et, merci beaucoup pour le script, très lisible d'ailleurs.

              "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

              • [^] # Re: Réinstallation plutôt que mise à jour

                Posté par (page perso) . Évalué à 2.

                Et comment les enlever?
                Il y a bien sûr des procédés lourds, par exemple vérifier la provenance de chaque fichier avec dpkg, mais ce serait trop long, je pense (?). Personne n'a une astuce géniale?


                Une idée génial, je dirais non. Mais je vois bien un moyen d'arriver à trouver quels sont les fichiers qui sont "étranger" à système actuel :

                - D'abord récupérer la liste des paquets installés:
                dpkg -l|sed -e '/^[ir]/!d' -e 's/ */ /g' -e 's/^[^ ]* \([^ ]*\).*/\1/g'

                - Pour chaque élément de cette liste, faire un "dpkg -L" (qui donne la liste des fichiers du paquet). Trier le résultat. On en obtient la liste des fichiers normalement installés :

                (for I in `dpkg -l|sed -e '/^[ir]/!d' -e 's/ */ /g' -e 's/^[^ ]* \([^ ]*\).*/\1/g'`; do dpkg -L $I; done) | sort -u > liste_originelle.txt

                - D'un autre coté, on demande la liste des fichiers & répertoire du disque, auquel on appliquera des filtres, afin de supprimer ce qui ne vient pas de la distribution (/home/, /tmp/, ...)

                find /|sed -e '/\/home/d' -e '/\/tmp/d' -e '/\/var\/log/d' -e '/\/mnt/d' -e '/\/proc/d' -e '/\/dev/d' -e '/\/root/d' -e '/\/sys/d' | sort > /tmp/liste_actuelle.txt

                - Après, il faut faire un "diff", et analyser le résultat à la main : Long et fastidieux... Je viens de regarder le résultat chez moi, c'est assez intéressant. J'ai trouvé des programmes écrits en python que j'avais compilé par le passé, et dont j'avais oublié l'existence.

                - Il restera forcement des "choses" qui sont rajoutés par le système lors des scripts de post-installation, et qui n'apparaissent pas dans le "dpkg -L" :
                - Par exemple, les gestionnaires de paquets Debian crées pleins de fichiers utiles dans /var/lib/, ou /var/cache/
                - Autre exemple : Les paquets kernel ou initramfs créent en post-installation les /boot/vmlinuz*, qui sont primordiaux au boot de la machine
                • [^] # Re: Réinstallation plutôt que mise à jour

                  Posté par (page perso) . Évalué à 2.

                  Ça reste lourd, non? quel effet sur ta machine?
                  J'ai peut-être un truc léger, imaginé en parcourant des man ça me semble possible. Malheureusement la fièvre de mes gamins a considérablement écourtée ma nuit, je réfléchirai... plus tard. Voilà l'idée:
                  utiliser locate (ou sa base de données) pour lister les fichiers
                  puis utiliser dlocate (ou ses base de données) pour trouver le paquet d'origine

                  "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

                  • [^] # Re: Réinstallation plutôt que mise à jour

                    Posté par (page perso) . Évalué à 2.

                    Ça reste lourd, non? quel effet sur ta machine?
                    La première commande a pris 1 minute sur ma machine. Un fichier de 6Mo a été généré. J'ai dans les 1500 paquets Debian.

                    La seconde commande à dus prendre 2min. Je l'ai relancé plusieurs fois pour mettre au point les filtres, et comme l'arborescence des fichiers était dans le cache disque, cela ne prenait beaucoup moins de temps, et uniquement du temps CPU.

                    Bref, c'est très largement utilisable.

                    L'analyse des données, elle, prendra plus de temps. J'utilise "xxdiff" pour comparer les données, mais n'importe quel soft de diff, graphique ou non, peut servir.

                    A noter qu'une Debian créé plein de liens symboliques, par exemple /bin/csh -> /bin/sh, ce qui fait apparaître des différences inutiles entre les deux fichiers. Il doit être possible de demander à "find" de ne pas afficher les liens symboliques (pour ne pas les suivre, c'est facile, il y a le "-follow").

                    utiliser locate (ou sa base de données) pour lister les fichiers
                    puis utiliser dlocate (ou ses base de données) pour trouver le paquet d'origine


                    "locate" est le premier truc que je désactive sur une machine. Lorsqu'il se met à scanner les disques durs lors du démarrage du cron, cela m'irrite de voir mon disque s'allumer pour rien.

                    Je préfère utiliser une commande "find" lorsque je cherche un fichier, d'autant qu'à de très rares exceptions près, je sais déjà plus où moins où se trouve le fichier.
            • [^] # Re: Réinstallation plutôt que mise à jour

              Posté par (page perso) . Évalué à 2.

              Pour l'indentation du code, pas de problème: il suffit de prendre le source html de la page et d'en virer les balises.

              "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

        • [^] # Re: Réinstallation plutôt que mise à jour

          Posté par . Évalué à 2.

          Il ne t'est sans doute jamais venu à l'esprit que de temps en temps, les paquets pouvaient laisser de petites erreurs un peu partout ? Tu n'as jamais lancé un "aptitude update" à la main, et lu les intéressantes lignes qui s'affichaient à l'écran ? Dommage, tu aurais eu l'occasion de voir des messages d'avertissement :
          - Pas des trucs très problèmatiques, mais bon nombre de fichiers / répertoires qui ne sont pas purgés pour faute de répertoires non vides (exemple le plus souvent sur Debian Testing : Le /lib/modules/[version des kernels désinstallés]/).
          - Plus récemment encore, j'ai eu des entrées dans /etc/udev/ qui étaient fausses, et qui dataient d'un vieux paquets (Debian) à propos d'imprimantes HP.


          Ce cas est parfaitement géré par APT.
          Il suffit de faire un dpkg -P ou un aptiture remove --purge pour supprimer toute trace du paquet, y compris les fichiers créés pour configuration (sauf peut-être les trucs dans /var, mais ça n'est pas critique).

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

          • [^] # Re: Réinstallation plutôt que mise à jour

            Posté par . Évalué à 3.

            Solution plus radicale : APTITUDE::Purge-Unused "true";dans le apt.conf.
          • [^] # Re: Réinstallation plutôt que mise à jour

            Posté par (page perso) . Évalué à 3.

            Il suffit de faire un dpkg -P ou un aptiture remove --purge pour supprimer toute trace du paquet, y compris les fichiers créés pour configuration (sauf peut-être les trucs dans /var, mais ça n'est pas critique).

            Je fais toutes mes suppression de paquet par "aptitude purge".

            Il n'empêche que pour les suppression de paquets de Kernel, en Debian squeeze/testing, il me laisse toujours des fichiers qui trainent dans /lib/module/<kernel version>/
    • [^] # Re: Réinstallation plutôt que mise à jour

      Posté par . Évalué à 2.

      Quand je dis mise à jour, je veux dire réinstallation complète en ne gardant rien ou presque (j'ai archivé/restauré .mozilla .Virtualbox Documents Music Pictures Videos, c'est tout et j'ai copié-collé la fin de mon .bashrc qui contenait essentiellement quelques modifications cosmétiques comme les alias, etc.) Même ma /home je l'ai reformatée pour passer en ext4.

      J'ai dis "mise à jour" par abus de langage.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.