[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: APT, DSELECT, APTITUDE streiken



Hallo Markus,


2005/8/12, Markus Schulz <msc@antzsystem.de>:
Am Freitag, 12. August 2005 15:13 schrieb Thomas Schönhoff:

Dein Text war aus irgendeinem Grund bereits zitiert?

> Hallo Markus,
>
> > Am 12.08.05 schrieb Markus Schulz < msc@antzsystem.de>:
[...]
> > >
> > > er versucht eine 12.582.912 Bytes große Datei zu erzeugen. Dabei
> > > bekommt er die Meldung das das zu groß sei.
> > > Dein Filesystem vielleicht defekt oder wirklich nicht mehr soviel
> > > Platz dort?
> >
> > Hmm, das / Verzeichnis (zu dem auch var gehört) hat 4GB

Und /var ist nicht auf einer eigenen Partition?

Nein, ich habe da ganz unkritisch dem Partitionsvorschlag (Desktop-System)  des  Debian-Installer vertraut!

Dann scheint das Filesystem wohl eine Macke zu haben.
Am besten du gehst mal in runlevel 1 (init 1) und prüfst es mal mit fsck
(Variante je nach Filesystem Typ) durch. (vorher mount -o,ro,remount /
damit dir keiner dazwischenfunkt)



> >  fchmod(3, 0644) = 0 (hier werden die Zugriffsrechte von
> > pkgcache-bin gescheckt)

sie werden nicht gecheckt sondern gesetzt.

> > fstat64(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 (Datei ist
> > schreibbar, okay!)

stat holt alle relevanten Informationen zu der Datei, mehr nicht. Das
Holen hat geklappt (weil Result == 0).
Du kannst auf die Datei ja mal auf einer Konsole stat machen und das
hier posten.

Hier die Ergebnisse:

thomas:/var/cache/apt# stat pkgcache.bin

 File: ,,pkgcache.bin"
  Size: 0               Blocks: 0          IO Block: 4096   reguläre leere Datei
Device: 301h/769d       Inode: 16135       Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-08-12 15:18:59.579415432 +0200
Modify: 2005-08-12 15:18:59.579415432 +0200
Change: 2005-08-12 15:18:59.579415432 +0200


 

> > lseek(3, 12582912, SEEK_SET) = 12582912 (liest das CacheLimit in
> > apt.confaus)

das seeked um die angegeben Anzahl Bytes nach vorn (interner Dateizeiger
wird nach weiter nach vorn gesetzt) um damit eine leere Datei der
entsprechenden Größe zu erzeugen. Da als Ergebnis die Stelle
zurückgegeben wird, klappt das also auch. Es ist allerdings kein
Problem den Dateizeiger hinter das EndOfFile (EOF) zu setzen.

> >
> > write(3, "\0", 1) = -1 EFBIG (File too large) (will Cache in
> > /var/cache/apt/pkgcache-bin schreiben, aber zu groß, daher Abbruch)

Jetzt will er eine abschliessende Null Terminierung dort reinschreiben
um die Datei mit der neuen Größe wirklich zu erzeugen und genau das
funktioniert nicht.
Wenn dort also noch genug Platz ist und die Partition auch schreibbar
(nicht ro gemountet) ist, dann sollte das auch funktionieren.
Andernfalls ist da ein Fehler im Filesystem zu vermuten.

Kannst du denn sonst noch Dateien auf dieser Partition anlegen?
z.B. mit
dd if=/dev/urandom bs=1024 count=1024 of=<filename>
legt eine 1MB Große Datei mit Random Daten an.


thomas:~# dd if=/dev/urandom bs=1024 count=1024 of=/var/cache/apt/testradnomdaten
 Funktioniert , "stat" sagt zur Datei:

  File: ,,testradnomdaten"
  Size: 1048576         Blocks: 2056       IO Block: 4096   reguläre Datei
Device: 301h/769d       Inode: 16164       Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-08-12 15:56:04.622157520 +0200
Modify: 2005-08-12 15:54:37.373421344 +0200
Change: 2005-08-12 15:54:37.373421344 +0200

Also, das sieht erstmal ziemlich normal aus, oder?

Gruß

Thomas

Reply to: