Re: Ports für mehrere Server und Jails

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 23 Oct 2012 14:30:50 +0200 (CEST)

Peter Ross wrote:
> On Mon, 22 Oct 2012, Oliver Fromme wrote:
> > Peter Ross wrote:
> > > pkg_add: leave_playpen: can't chdir back to ''
> >
> > Oh, super, da war wieder ein Programmierer nicht in der
> > Lage, ein brauchbare Fehlermeldung oder wenigstens eine
> > errno auszugeben.
> >
> > Ich tippe mal auf "Permission denied".

.. Oder auch "Operation not permitted": Den Fall hatte ich
gerade gestern. Da hatte eine Datei das uappend-Flag, was
dazu führte, dass ich genau diese Fehlermeldung bekam, als
ich versuchte, sie umzubennen. Und ich war root, und es
war nicht in einem Jail.

Ich fand es zunächst überraschend, dass das uappend-Flag ein
Umbennen verhindert, aber bei näherem Hindenken erscheint
es tatsächlich sinnvoll, und es ist auch so in der manpage
dokumentiert.

In Deinem Fall ist es sicherlich kein uappend-Flag (das war
jetzt nur ein Beispiel), aber eine ähnliche Situation wäre
durchaus denkbar.

> > Du könntest mal testweise in der Funktion leave_playpen()
> > in /usr/src/usr.sbin/pkg_install/lib/pen.c "errx" durch
> > "err" ersetzen. Dann sollte zusätzlich die Fehlermeldung
> > von strerror() ausgegeben werden.
>
> Danke, das werde ich mal probieren.
>
> .. Tja, wenn man den Fehler mal braucht, dann passiert er nicht..
>
> Ich habe mir den Text mal genauer angeschaut. Es geht da um ein
> temporaeres Verzeichnis, in dem das Paket ausgepackt wird.
>
> PKG_TMPDIR zu setzen könnte also die Lösung sein?

Ich glaube nicht, dass PKG_TMPDIR selbst das Problem ist,
sondern ein darunterliegendes Temporärverzeichnis, das von
pkg_add selbst angelegt wurde.

> Wobei, ich habe /var/tmp und /tmp auf allen Servern/Jail kontrolliert -
> sie sind da, und auf 1777 gesetzt.
>
> Und ich bin root..

Auch root darf nicht alles (siehe oben), und erst recht
nicht in Jails.

Übrigens -- das wird mir erst jetzt bewusst -- »can't chdir
back to ''« kann ja gar nicht funktionieren. Ein cd auf
einen Leerstring geht nicht. Die Frage ist, wo da der
Leerstring herkommt. Das riecht nach einem Bug in pkg_add.
(Was mich auch nicht wundert; der Code ist teilweise sehr
verworren. Viele Teile sind an die 20 Jahre alt und stammen
noch von JKH, ursprünglich als vorübergehender "quick hack"
gedacht ... Neben sysinstall eine weitere seiner Jugend-
sünden. ;-)

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"Being really good at C++ is like being really good
at using rocks to sharpen sticks."
        -- Thant Tessman
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 23 Oct 2012 - 14:31:02 CEST

search this site