Apt runs out of space during kernel update
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: apt
I have a PIII with 64MiB ram, 256MiB swap and 500GB of HD running Hardy (Ubuntu 8.04.3 LTS). I ran apt-get upgrade today and it completed but left the message:
Setting up linux-restricte
ld_static: final link failed: No space left on device
ld_static: final link failed: No space left on device
Further there is an extra drive listed (that I am guessing is the one that ran out of space)
tmpfs 30408 29004 1404 96% /lib/modules/
I do not believe this is a duplicate of Bug #105113 because
1) I do not have update manager installed (you think I can run a GUI with 64MiB ram?)
2) I have plenty of space on both hard drives.
At a very minimum, I think the error messages should specify in what kind of state the system was left, and some suggestions for fixing it. As it is, I don't know if the modules were successfully installed through some kind of work-around or if the system was left in some kind of limbo, thinking they are installed, but important parts are missing.
I have attached the transcript of the session
This is not a duplicate of bug #273049
273049 is about running out of disk space. In my case, I had either 5 GB or 390 GB free (depending on which drive you looked at -- see the transcript). I did not run out of disk space.
Understanding a little more about Linux than I did when I first posted this bug two years ago, I can see that the problem on my system is that apt is doing its work on a RAM-drive, tmpfs. The system is severely memory constrained, and tmpfs is limited to half the available RAM or 32MB.
In cases like this apt should either:
automatically switch to using the actual drive (probably too complicated)
or
fail with an error message telling the user that it ran out of space on tmpfs and that there is an option to use a physical drive. And it should have a command-line option to disable the tmpfs support and use the physical hardware.
You might say, how will apt know that it will run out of space without solving 273049? It just checks whether any of its sub-processes fail with an out-of-space message. If they do, it knows that it did not have enough space and either tries again automatically or bails and tells the user what they can do about it.