[aur-general] yaourt - tmpfs error: No space left on device

Csányi Pál csanyipal at gmail.com
Sat Jul 19 07:16:46 EDT 2014


Hi,

I have been told on arch-general mailing list that that this problem
should be post here too, because this is an AUR problem.

I'm trying to install icecat with yaourt but get always error: No
space left on device.

$ df -H
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        66G   38G   26G  60% /
tmpfs           3.2G     0  3.2G   0% /dev/shm
tmpfs           3.2G     0  3.2G   0% /sys/fs/cgroup
tmpfs           3.2G  3.2G  160k 100% /tmp
tmpfs           627M  4.1k  627M   1% /run/user/1000

I have installed my arch linux on one partition only, on /dev/sda3.

I tried to install icecat several times, moreover after a reboot too,
but always get this error message.

I tried also to setup yaourt and makepkg:
/etc/yaourtrc
TMPDIR="/tmp"

/etc/makepkg.conf
BUILDDIR=/tmp/makepkg

Still get the above error.

$ free -h

total used free shared buffers cached
Mem: 5.8G 4.2G 1.6G 2.9G 64M 3.2G
-/+ buffers/cache: 928M 4.9G
Swap: 511M 0B 511M

/etc/fstab

/dev/sda3   /  ext4 rw,relatime,data=ordered  0 1
/dev/cdrom  /media/cdrom    iso9660 ro,user,noauto,unhide  0 0
/swapfile  none  swap defaults 0 0

On the arch-general mailing list I get the following advices.

* From Daniel Micay:
Stop building a very large package in a filesystem of very limited size.
The BUILDDIR option is unset by default, and if you leave it unset
`makepkg` will work fine.

* From me:
Before I edited the file: /etc/makepkg.conf

I tried to install with yaourt the icecat package but get the same
error message.
That is way I edited the /etc/makepkg.conf file and set the BUILDDIR option to:
BUILDDIR=/tmp/makepkg

So, leaving it unset doesn't work here.

* From Daniel Micay:
Leave it unset and build with makepkg directly.

> Set BUILDDIR=/var/tmp instead, /tmp is filling up.

Or just use the *default* of not building in a global directory...
especially /tmp which is a ramdisk.

* From Mark Lee:
I just looked at yaourt's yaourtrc and it's clear that it's storing
its temporary files in /tmp. Building with yaourt means building in
tmpfs which would for large compilation jobs can exhaust the tmpfs
file system. Either extend the size of /tmp by specifying a larger
size when mounting in /tmp (using fstab or just command line) or set a
different direcotry via yaourt --tmp <temporary directory>.

This should really be posted to the AUR mailing list since it's an AUR
issue. I hope this helps.

* From Ralf Mardorf:
[rocketmouse at archlinux ~]$ grep tmp /etc/fstab
#tmpfs   /tmp         tmpfs   nodev,nosuid,size=3G          0  0

It's commented out, but I once had to use it and it solved the issue for
me.

* From John Broggs:
The best way to overcome this error is to allocate the space you need in
fstab as per the instructions on the fstab page on ArchWiki.

* From Bigby James:
systemd will allocate /tmp to a ramdisk by default, whether you specify it or
not. Specifying tmpfs in /etc/fstab allows you to dictate how large the ramdisk
is, but unless you explicitly stop systemd from mounting /tmp in RAM that's
where it will go.

I solve this problem by building icecat directly with makepkg.

--
Regards from Pal


More information about the aur-general mailing list