Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Chroot debian / Bacula-sd

14 réponses
Avatar
Haji Kader
--nextPart7689219.VpfkJFotdu
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Bonjour,

Peut-=C3=AAtre HS mais je me lance quand m=C3=AAme en =C3=A9tant d=C3=A9sol=
=C3=A9 par avance si =C3=A7a=20
l'est.

J'ai comme projet de mettre en place un environnement chroot pour le=20
daemon "storage daemon" de l'application Bacula (sauvegarde r=C3=A9seau)

Le contexte est que l'environnemnt chroot est d=C3=A9j=C3=A0 mise en place,=
donc je l'ai=20
t=C3=A9l=C3=A9charg=C3=A9 en locale, pour les tests.

Une fois celui-ci mise en place, j'ai copi=C3=A9 toutes les d=C3=A9pendance=
s li=C3=A9es =C3=A0=20
daemon (ldd puis cp...), la partition "/proc" est bien dans le "/etc/fstab".

A partir de l=C3=A0, j'acc=C3=A8de =C3=A0 mon environnement sans probleme:
=2E..# chroot /rep_chroot/ /bin/bash

Et quand je lance l'application, un message d'erreur me dit que la librairi=
e =20
partag=C3=A9e "libacl.so.1" est manquante.

Apr=C3=A9s avoir int=C3=A9grer et lancer "strace" dans le chroot, effective=
ment il y a=20
pas mal de librairies manquante.

Apr=C3=A9s les avoir rajouter, toujours le m=C3=AAme style d'erreur li=C3=
=A9e au librairie=20
manquante.

Depuis je tourne un peu en rond et aimerai bien savoir si quelqu'un de la=20
liste a d=C3=A9j=C3=A0 ce type de probl=C3=A8me ou une exp=C3=A9rience simi=
laire.

Merci,

=2D-=20
Cordialement.
Kader HAJI
=2D---------------------------------------------------
H=C3=A9onium

--nextPart7689219.VpfkJFotdu
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBIX7Le8SNzNljdvAIRAryVAKCNmhUwix9WvLIpsOPwvj/VUor2TwCgoXGs
92Me76+c9XH31cViqEWyHvo=
=hfsR
-----END PGP SIGNATURE-----

--nextPart7689219.VpfkJFotdu--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

4 réponses

1 2
Avatar
Sylvain Sauvage
Haji Kader, mercredi 25 juin 2008, 13:51:29 CEST
[…]
strace /usr/sbin/bacula-sd

execve("/usr/sbin/bacula-sd", ["/usr/sbin/bacula-sd"], [/* 17 vars */]) = 0
[…]
futex(0xbfe20030, 0x81 /* FUTEX_??? */, 1) = -1 ENOSYS (Function not im plemented)



Hmm, un appel qui échoue.
0x81 n’est pas une valeur « connue » (API acc essible, la page
de man ou futex.h) pour un futex, mais c’est une valeur
habituelle dans un strace. Et, d’habitude, ça passe.
Je ne sais pas ce que ce signifie le fait que ça coince ici…

rt_sigaction(SIGRTMIN, {0xb7e792c0, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb7e79340, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0



Quelques détournements de signaux…

getrlimit(RLIMIT_STACK, {rlim_cur92*1024, rlim_max=RLIM_INFINITY}) = 0



Demande la taille de la pile.

--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Process 26836 detached



Et pouf, un SIGSEGV. Ça peut venir du déréférencement d’un
pointeur invalide (nul) ou d’un débordement de pile…

Donc, à part le futex qui échoue, ce qui n’a peut-à ªtre rien à
voir, pas vraiment d’indication du pourquoi ça segfaulte.

Bon, strace n’affiche que les appels système, ça ne dit pas ce
qu’il se passe entre le getrlimit et le segfault. (Le getrlimit
se faisant sur la taille de la pile, c’est peut-être une
récursion infinie, mais le système n’a pas besoin de fair e un
getrlimit pour segfaulter dans ce cas-là, donc ça n’a peu t-être
rien à voir.)

En tout cas, on ne voit pas de tentative d’ouverture de
fichier qui échouerait. En fait, il n’y en a pas en dehors des
bibliothèques. Donc ça n’est pas un fichier qui manque.

Il n’y a pas un log ?

Il faudrait utiliser gdb, mais les binaires debian sont
strip-és ; donc pas d’info de déboguage ; donc faudrait
recompiler…

Bon, je suppose que ça fonctionne en dehors du chroot, hein ?
Tu as essayé dchroot ou schroot ?

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Haji Kader
--nextPart1449205.LBsOpLqKYA
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le Wednesday 25 June 2008 20:25:23 Sylvain Sauvage, vous avez écrit  :
Haji Kader, mercredi 25 juin 2008, 13:51:29 CEST

>[…]
> strace /usr/sbin/bacula-sd
>
> execve("/usr/sbin/bacula-sd", ["/usr/sbin/bacula-sd"], [/* 17 vars */]) =
> 0 […]
> futex(0xbfe20030, 0x81 /* FUTEX_??? */, 1) = -1 ENOSYS (Function not
> implemented)

Hmm, un appel qui échoue.
0x81 n’est pas une valeur « connue » (API a ccessible, la page
de man ou futex.h) pour un futex, mais c’est une valeur
habituelle dans un strace. Et, d’habitude, ça passe.
Je ne sais pas ce que ce signifie le fait que ça coince ici†¦

> rt_sigaction(SIGRTMIN, {0xb7e792c0, [], SA_SIGINFO}, NULL, 8) = 0
> rt_sigaction(SIGRT_1, {0xb7e79340, [], SA_RESTART|SA_SIGINFO}, NULL, 8) =
> 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0

Quelques détournements de signaux…

> getrlimit(RLIMIT_STACK, {rlim_cur92*1024, rlim_max=RLIM_INFINITY }) = 0

Demande la taille de la pile.

> --- SIGSEGV (Segmentation fault) @ 0 (0) ---
> +++ killed by SIGSEGV +++
> Process 26836 detached

Et pouf, un SIGSEGV. Ça peut venir du déréférenceme nt d’un
pointeur invalide (nul) ou d’un débordement de pile…

Donc, à part le futex qui échoue, ce qui n’a peut-à ªtre rien à
voir, pas vraiment d’indication du pourquoi ça segfaulte.

Bon, strace n’affiche que les appels système, ça ne d it pas ce
qu’il se passe entre le getrlimit et le segfault. (Le getrlimit
se faisant sur la taille de la pile, c’est peut-être une
récursion infinie, mais le système n’a pas besoin de fa ire un
getrlimit pour segfaulter dans ce cas-là, donc ça n’a p eut-être
rien à voir.)

En tout cas, on ne voit pas de tentative d’ouverture de
fichier qui échouerait. En fait, il n’y en a pas en dehors d es
bibliothèques. Donc ça n’est pas un fichier qui manque.

Il n’y a pas un log ?



Non malheureusement.

Il faudrait utiliser gdb, mais les binaires debian sont
strip-és ; donc pas d’info de déboguage ; don c faudrait
recompiler…

Bon, je suppose que ça fonctionne en dehors du chroot, hein ?
Tu as essayé dchroot ou schroot ?



Non je n'ai pas essayé dchroot ou schroot mais je ne vois pas ce que c elà
pourrait changer???
J'avais pensé à la compilation mais bon si je pouvais faire sans, se serait
bien mieux mais je crois que c'est ce qui me reste à faire.

Merci à tous, dés que ça avance je tiens au courant,


--
Cordialement.
Kader HAJI

--nextPart1449205.LBsOpLqKYA
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBIYrc08SNzNljdvAIRAvWQAJ43nL2cXCnm4iOAyLM92em4eNeXqwCgm740
8cD5Q6i323958RU0LT5ZyM0 =5HYz
-----END PGP SIGNATURE-----

--nextPart1449205.LBsOpLqKYA--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Haji Kader, mercredi 25 juin 2008, 23:22:55 CEST
[…]
> Bon, je suppose que ça fonctionne en dehors du chroot, hein  ?
> Tu as essayé dchroot ou schroot ?

Non je n'ai pas essayé dchroot ou schroot mais je ne vois pas
ce que celà pourrait changer???



Mettre chroot hors de cause (la mise en œuvre, pas le
principe).

C’est le b-a-ba de la méthode scientifique : pour à ©liminer une
hypothèse possible, remplacer sa cause.
L’hypothèse étant « chroot est la cause du se gfault », si
dchroot et schroot font la même chose, c’est que c’est voulu par
le principe du changement de root, et donc pas un bogue de
chroot (ou alors un bogue de chroot, dchroot et schroot, ce qui
est moins probable).

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Haji Kader
--nextPart1252159.2O3zsxOACV
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le Wednesday 25 June 2008 20:25:23 Sylvain Sauvage, vous avez écrit  :
Haji Kader, mercredi 25 juin 2008, 13:51:29 CEST

>[…]
> strace /usr/sbin/bacula-sd
>
> execve("/usr/sbin/bacula-sd", ["/usr/sbin/bacula-sd"], [/* 17 vars */]) =
> 0 […]
> futex(0xbfe20030, 0x81 /* FUTEX_??? */, 1) = -1 ENOSYS (Function not
> implemented)

Hmm, un appel qui échoue.
0x81 n’est pas une valeur « connue » (API a ccessible, la page
de man ou futex.h) pour un futex, mais c’est une valeur
habituelle dans un strace. Et, d’habitude, ça passe.
Je ne sais pas ce que ce signifie le fait que ça coince ici†¦

> rt_sigaction(SIGRTMIN, {0xb7e792c0, [], SA_SIGINFO}, NULL, 8) = 0
> rt_sigaction(SIGRT_1, {0xb7e79340, [], SA_RESTART|SA_SIGINFO}, NULL, 8) =
> 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0

Quelques détournements de signaux…

> getrlimit(RLIMIT_STACK, {rlim_cur92*1024, rlim_max=RLIM_INFINITY }) = 0

Demande la taille de la pile.

> --- SIGSEGV (Segmentation fault) @ 0 (0) ---
> +++ killed by SIGSEGV +++
> Process 26836 detached

Et pouf, un SIGSEGV. Ça peut venir du déréférenceme nt d’un
pointeur invalide (nul) ou d’un débordement de pile…

Donc, à part le futex qui échoue, ce qui n’a peut-à ªtre rien à
voir, pas vraiment d’indication du pourquoi ça segfaulte.

Bon, strace n’affiche que les appels système, ça ne d it pas ce
qu’il se passe entre le getrlimit et le segfault. (Le getrlimit
se faisant sur la taille de la pile, c’est peut-être une
récursion infinie, mais le système n’a pas besoin de fa ire un
getrlimit pour segfaulter dans ce cas-là, donc ça n’a p eut-être
rien à voir.)

En tout cas, on ne voit pas de tentative d’ouverture de
fichier qui échouerait. En fait, il n’y en a pas en dehors d es
bibliothèques. Donc ça n’est pas un fichier qui manque.

Il n’y a pas un log ?



Non malheureusement.

Il faudrait utiliser gdb, mais les binaires debian sont
strip-és ; donc pas d’info de déboguage ; don c faudrait
recompiler…

Bon, je suppose que ça fonctionne en dehors du chroot, hein ?
Tu as essayé dchroot ou schroot ?



En dehors du chroot, celà fonctionne parfaitement, je l'ai même m is en place
en production et aucun problème.
Je l'ai même testé dans un environnement chroot constuit via de d ebootstap et
il fonctionne aussi parfaitement.

Bonjour à tous,


Je reviens pour donner des nouvelles sur l'environnement chroot du "storage
daemon" Bacula car j'ai un peu avancé et donc le problème ét ait quelques
librairies prisent en compte via des mauvais chemins.
Une fois celle-ci remise au bon endroit, tout va beaucoup mieux au niveau d u
segfault mais reste une petite problématique.
Mon bacula ne me sort aucune erreur mais normalement dés que je le lan ce je
devrais le voir apparaître parmis les processus de mon environnement n on
chrooté, hors là rien, aucune trace.

Par contre, avec le chroot via deboostrap, quand je lance mon bacula, je vo is
bien le processus associé:
sshd 12532 0.0 0.6 22572 1732 ? Ssl 18:11
0:00 /usr/sbin/bacula-sd -c /etc/bacula/bacula-sd.conf -u bacula -g tape


Au passage, je ne comprends pas trop pourquoi, à la fin du strace, j'a i ceci:

open("/dev/null", O_RDONLY|O_LARGEFILE) = 3
close(3) = 0
stat64("/var/lib/bacula", {st_mode=S_IFDIR|0755, , ...}) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGC HLD,
child_tidptr=0xb7beca28) = 12498
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn() = ? (mask now [])
exit_group(0) = ?
Process 12497 detached

Merci,


--
Cordialement.
Kader HAJI

--nextPart1252159.2O3zsxOACV
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBIbN8d8SNzNljdvAIRAil0AJoDICQHIV73K009cJgvXBDJ+Y1ooQCcCOxR
dW6Zty5av61HXl6YE7Pavc8 =ZicZ
-----END PGP SIGNATURE-----

--nextPart1252159.2O3zsxOACV--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
1 2