Hi,

wir haben heute ein riesen Problem gefunden: dpkg erstellt Hardlinks,
auch �ber Verzeichnisse hinweg. Wir setzen aber AFS ein, dass keine
Hardlinks unterst�zt. Was macht man da?

Wir wollten heute ein Update der libc6 machen, zwecks installation von
openoffice.org, und dabei ist uns dpkg abgeschmiert, weil es eben die
besagten Hardlinks nicht erstellen konnte. Aber ich glaube, das wird
nicht nur ein Problem von AFS sein. Jedes FS, dass ACLs bietet, kann
keine Hardlinks unterst�tzen, da eine Datei ja in 2 Verzeichnissen liegen
k�nnte und damit w�re 2 ACLs zust�ndig, was aber nicht geht. [Au�er es
gibt ACLs auch f�r die Dateien. Das wei� ich nicht, ob es das gibt,
jedenfalls AFS hat es nicht.]

Ich habe heute nur einfach das tar-Archiv von Hand ausgepackt und die
dpkg-Datenbank von Hand ge�ndert. Aber das kann ja nicht der Weg sein.

Hier noch ein Auszug von strace:
#v+
fstat64(8, {st_mode=S_IFREG|0644, st_size=431, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0
x40016000
_llseek(8, 0, [0], SEEK_CUR)            = 0
read(8, "root:x:0:\ndaemon:x:1:\nbin:x:2:\ns"..., 4096) = 431
close(8)                                = 0
munmap(0x40016000, 4096)                = 0
lstat64("/usr/share/zoneinfo/Europe/Nicosia", {st_mode=S_IFLNK|0755, st_size=32,
 ...}) = 0
rmdir("/usr/share/zoneinfo/Europe/Nicosia.dpkg-new") = -1 ENOENT (No such file o
r directory)
rmdir("/usr/share/zoneinfo/Europe/Nicosia.dpkg-tmp") = -1 ENOENT (No such file o
r directory)
link("/./usr/share/zoneinfo/Asia/Nicosia", "/usr/share/zoneinfo/Europe/Nicosia.d
pkg-new") = -1 EXDEV (Invalid cross-device link)
write(2, "dpkg: error processing /var/cach"..., 175dpkg: error processing /var/c
ache/apt/archives/libc6_2.2.5-13_i386.deb (--install):
 error creating hard link `./usr/share/zoneinfo/Europe/Nicosia': Invalid cross-d
evice link
) = 175
lstat64("//usr/share/zoneinfo/Europe/Nicosia.dpkg-tmp", 0xbffff8dc) = -1 ENOENT 
(No such file or directory)
rmdir("//usr/share/zoneinfo/Europe/Nicosia.dpkg-new") = 
#v-

Die Stelle, wo link() EXDEV zur�ck gibt, hat uns das Genick gebrochen.

BTW: die Zeilen dar�ber sehen auch nicht gerade sch�n aus. mit rmdir() eine
Datei entfernen ist nicht die richtige Methode.

J�rg.


-- 
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an