Hi, I had the same problem with some large packages. The solution is to make ~/tmp/yaourt and have in your ~/.yaourtrc set TMPDIR=/home/csanyipal/tmp/yaourt (if that's your username). If you use /tmp, then building will be faster, but everything will be in the memory drive (tmpfs 3.2G ... /tmp = in memory). That is better for smaller packages, but if you run chrome or firefox with lots of tabs and some more memory-intensive programs, you'll end up with the "no space left" message. Cheers o7 Filip 19.07.2014, 13:17, "Csányi Pál" <csanyipal@gmail.com>:
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@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