OVH Cloud OVH Cloud

[FreeBSD] et pkg data bases

21 réponses
Avatar
JJ
Bonjour,

Suite à un installworld d'une 5.3-RELEASE en -p6, après cvsup, les
commandes pkg_XXX et pkgdb échouent, inconsistances.
Après un make index, portsdb -uU, le man de pkgdb donnant -fu pour
reconstruire la database, j'ai fait un rm dans /var/db/pkg, après avoir
sauvegardé /pkg, puis l'ai écrabouillé ensuite avec les gros doigts.
Je sais, pas taper... :)

pkgdb -fu me crée juste un minuscule fichier pkgdb.db. A quoi sert il ?.

Le pkgtools.conf est basique, avec juste la déclaration des répertoires
db par défaut.

J'ai réussi à faire un portupgrade -R portupgrade, et maintenant je peux
installer/désinstaller via les ports (et aussi via pkg_add), les
nouveaux venus apparaissant/disparaissant bien dans /var/db/pkg.

Comment faire pour avoir de nouveau dans la db les packages dejà
installés sur la machine, car il ne les voit plus.

Merci. JJ

10 réponses

1 2 3
Avatar
Mathieu Arnold
Marwan Burelle écrivait:
In article <42515cdd$0$11969$, Mathieu Arnold wrote:
Par, contre dans l'absolue, on doit pouvoir dire à portupgrade de
poser sa base ailleurs que dans /var/db/pkg, et peut être ainsi
pouvoir reconstruire quelque chose si /var/db/pkg morfle. Je tenterais
bien, dès que j'ai un peu de temps et une machine "cassable" ...


Et bien, hum, /var/db/pkg est *la* source sur laquelle se baser :-)
On a dans les cartons (enfin, c'est plus a l'état d'idée sur un coin de
table) une modification en profondeur des pkg_* et une api pour accéder
au contenu de /var/db/pkg pour pouvoir par exemple, le stocker dans une
base de données sur une autre machine, ou que sais-je encore.

Oui ... pareil, pour être tranquil, moi je sauvegarde la liste de mes
ports installés (via pkg_info -oqa) histoire de toujours savoir ce qui
a été installé. En cas de soucis, je récup ce qui est n'est pas des
ports dans /usr/local ainsi que mes conf dans les différents etc, je
vire local et X11R6 et je résintalle les ports ...


Moi, j'ai bacula qui sauvegarde /var/db/pkg tous les soirs :-)

--
Mathieu Arnold

Avatar
Marwan Burelle
In article <425193c0$0$15282$, Mathieu Arnold wrote:
Et bien, hum, /var/db/pkg est *la* source sur laquelle se baser :-)
On a dans les cartons (enfin, c'est plus a l'état d'idée sur un coin de
table) une modification en profondeur des pkg_* et une api pour accéder
au contenu de /var/db/pkg pour pouvoir par exemple, le stocker dans une
base de données sur une autre machine, ou que sais-je encore.


Hum, portupgrade a déjà ça propre base, mais je dois avouer que je
n'ai pas regardé ce qu'il mettait dedans et si c'était suffisant pour
remettre le système dans un état valide ...

Moi, j'ai bacula qui sauvegarde /var/db/pkg tous les soirs :-)


Enfin, je parlais de nettoyer un peu tout ça. Ou bout d'un certain
nombre d'update des ports avec les trucs qui changent tout le temps
comme gnome et consort, il m'est arrivé plusieures fois de virer tous
les ports et de les remttre proprement. En fait il manque un vrai
méchanisme de dépendance de version.

Les ports les plus atteint sont les ports utilisant perl, mais ce
n'est pas les seuls. Je penses au lib en ocaml (vu qu'elles doivent
être systématiquement recompilé à chaque nouvelle version d'ocaml pour
une sombre histoire de magic number dans le linker ... ) ou aux
infames lib qui ne respectent pas les conventions de
numérotation. Avec juste un flag qui indique qu'un port doit être
recompilé si certaine dépendance sont updatées ça réglerais plein de
problèmes ... mais bon ...

--
Burelle Marwan,
Equipe Bases de Donnees - LRI
http://www.cduce.org
( | )

Avatar
Mathieu Arnold
Marwan Burelle écrivait:
In article <425193c0$0$15282$, Mathieu Arnold wrote:
Les ports les plus atteint sont les ports utilisant perl,


Pour ceux la, il y a perl-after-upgrade, de notre amis Anton, :
http://people.freebsd.org/~tobez/perl-after-upgrade

mais ce
n'est pas les seuls. Je penses au lib en ocaml (vu qu'elles doivent
être systématiquement recompilé à chaque nouvelle version d'ocaml pour
une sombre histoire de magic number dans le linker ... ) ou aux
infames lib qui ne respectent pas les conventions de
numérotation. Avec juste un flag qui indique qu'un port doit être
recompilé si certaine dépendance sont updatées ça réglerais plein de
problèmes ... mais bon ...


Il y a de toutes façon une note dans /usr/ports/UPDATING qui explique
comment s'y prendre.

Le pire étant gnome :-)

--
Mathieu Arnold

Avatar
Marwan Burelle
In article <42524c7f$0$15276$, Mathieu Arnold wrote:
Il y a de toutes façon une note dans /usr/ports/UPDATING qui explique
comment s'y prendre.


Oui, mais si tu regardes bien, pour teTeX par exemple, il fallait tout
virer et tout remettre, les scripts d'upgrade pour gnome désinstalle
tout avant de tout résinstaller ...

Le pire étant gnome :-)


Je ne suis pas sûr, une update de perl c'est pas mal quand même, j'ai
eu aussi quelque surprises avec gettext et je me souviens de l'arriver
de fontconfig et autres, c'était très marrant (rire jaune ... )


--
Burelle Marwan,
Equipe Bases de Donnees - LRI
http://www.cduce.org
( | )

Avatar
Mathieu Arnold
Marwan Burelle écrivait:
In article <42524c7f$0$15276$, Mathieu Arnold wrote:
Je ne suis pas sûr, une update de perl c'est pas mal quand même, j'ai
eu aussi quelque surprises avec gettext et je me souviens de l'arriver
de fontconfig et autres, c'était très marrant (rire jaune ... )


La procédure de mise a jour de Perl fonctionne, je sait, c'est moi qui
l'ai écrite :-)

--
Mathieu Arnold

Avatar
espie
In article ,
Marwan Burelle wrote:
Oui ... pareil, pour être tranquil, moi je sauvegarde la liste de mes
ports installés (via pkg_info -oqa) histoire de toujours savoir ce qui
a été installé. En cas de soucis, je récup ce qui est n'est pas des
ports dans /usr/local ainsi que mes conf dans les différents etc, je
vire local et X11R6 et je résintalle les ports ...


Et moi, j'ai un OpenBSD, qui fabrique des packages binaires de toutes
facons, et que je garde au chaud pour reinstaller des bouts en cas
de catastrophe. Je dirais meme que j'ai tout l'appareillage qui
me permet de reinstaller un port `deja installe' en cas de catastrophe,
style nettoyage au napalm de /var/db/pkg..

Avatar
Marwan Burelle
In article <d30a04$c41$, Marc Espie wrote:
Et moi, j'ai un OpenBSD, qui fabrique des packages binaires de toutes
facons, et que je garde au chaud pour reinstaller des bouts en cas
de catastrophe. Je dirais meme que j'ai tout l'appareillage qui
me permet de reinstaller un port `deja installe' en cas de catastrophe,
style nettoyage au napalm de /var/db/pkg..


Si je n'étais pas feignant et que j'avais commencé dès le début, je
pourrais le faire aussi, hein ;)

--
Burelle Marwan,
Equipe Bases de Donnees - LRI
http://www.cduce.org
( | )

Avatar
Thierry Thomas
Mercredi 06 avril 2005 à 12:30 GMT, Marwan Burelle a écrit :
In article <d30a04$c41$, Marc Espie wrote:
Et moi, j'ai un OpenBSD, qui fabrique des packages binaires de toutes
facons, et que je garde au chaud pour reinstaller des bouts en cas
de catastrophe. Je dirais meme que j'ai tout l'appareillage qui
me permet de reinstaller un port `deja installe' en cas de catastrophe,
style nettoyage au napalm de /var/db/pkg..


Si je n'étais pas feignant et que j'avais commencé dès le début, je
pourrais le faire aussi, hein ;)


Étant donné qu'il n'y a qu'une affectation à définir dans
/etc/make.conf, il faut être très fainéant ;-)
--
Th. Thomas.


Avatar
Mathieu Arnold
thierrantone<no-spam> écrivait:
Enfin requestion au sujet de pkgdb.db, quels process peuvent exploiter
ce fichier ?.


Uniquement la suite des outils qui viennent avec portupgrade.

--
Mathieu Arnold

Avatar
thierrantone
Thierry Thomas wrote:

In article <d30a04$c41$, Marc Espie wrote:

Et moi, j'ai un OpenBSD, qui fabrique des packages binaires de toutes
facons, et que je garde au chaud pour reinstaller des bouts en cas
de catastrophe. Je dirais meme que j'ai tout l'appareillage qui
me permet de reinstaller un port `deja installe' en cas de catastrophe,
style nettoyage au napalm de /var/db/pkg..




Si je n'étais pas feignant et que j'avais commencé dès le début, je
pourrais le faire aussi, hein ;)



Étant donné qu'il n'y a qu'une affectation à définir dans
/etc/make.conf, il faut être très fainéant ;-)


Bon, je reviens dans le fil, ou plein de choses intéressantes ont été
dites avec des contributeurs de qualité :) , je retiendrais bien entre
autre l'idée de Marwan Burelle, portupgrade avec sa base.
Mais ma machine n'est plus "cassable" :) , m'étant fait parvenir une
copie des système de fichiers que j'avais réalisée en un autre lieu.
Le souci est donc réglé, mais n'explique pas le "broyage" de la db lors
de la procédure make build/intallworld.

S'agit il de l'application d'un principe d'incertitude ?.

Enfin requestion au sujet de pkgdb.db, quels process peuvent exploiter
ce fichier ?.

JJ



1 2 3