You are not logged in.

#1 2017-05-22 04:41:39

piccolo_daimao
Member
Registered: 2016-01-30
Posts: 4

[SOLVED] Using the live Arch iso to do a full system upgrade

Oh boy, I've made a lot of mistakes when trying to fix some parts of my computer. So, let's start from the beginning.
When I first installed Arch, I went with the recommendation for the default partition sizes, which left me with a 20gb root partition. I figured that would be enough for me. However, as I later discovered, it was not. I had filled the entire partition almost to the brim. There was still enough space to install a package here or there, but I couldn't do a full system upgrade anymore, which as you might imagine, could become an issue. So, of course, I ignored the issue for a few (like 8) months because school got busy and resizing partitions sounded scary to me. However, then I broke one of the cardinal rules of Arch. I tried a partial upgrade because a website wanted a newer version of Firefox than what I was currently using. After I updated it, Firefox was missing libicuuc.so.59 (or similar), but my computer had .so.58 (or similar), so I updated icu, which broke pacman.
Now, I found a thread on here with a similar issue, so I discovered that doing a full system upgrade was the solution. But now the partition problem came back to haunt me. Today, I successfully resized my root partition so now I have 20gb of free space in the root partition (I doubled the size), but I was unable to update my system on the live iso.
First I mounted my partitions in the right place, and then I ran the command

# pacman -r /mnt/ -Syu

per the most recently linked thread. So now pacman wants to update 517 packages, and it says it still doesn't have enough space:

error: Partition / too full: 268126 blocks needed, 63744 blocks free
error: failed to commit transaction (not enough free disk space)
Errors occurred, no packages were upgraded.

Now, when I saw this message I was quite confused, because 63744 looked like the number of blocks needed before I resized my partition, but lsblk confirms that there is free space.
My issue seemed similar to this guy's on reddit, but his was fixed with the addition of the "-r /mnt" flag it seems.
The command

# df -i

confirms that the device mounted at /mnt should have more than enough free Inodes to do the upgrade (it says 2578560 Inodes, 236351 IUsed, and 2342209 IFree, with IUse% being 10%). Additionally, there don't appear to be any devices attached to the computer that have 63744 Inodes free, so I'm unsure as to where it is getting that number.

# df

also confirms that only 46% of the hard drive is being used, so there should still be plenty of space.

Any help would be much appreciated!

Last edited by piccolo_daimao (2017-05-22 20:17:21)

Offline

#2 2017-05-22 05:52:20

seth
Member
Registered: 2012-09-03
Posts: 49,981

Re: [SOLVED] Using the live Arch iso to do a full system upgrade

"/" is the root partition of your live system, use "--cachedir=/mnt/var/cache/pacman/pkg"

Also, don't follow obscure forum and reddit stuff, but always look into the wiki as very first step: https://wiki.archlinux.org/index.php/Pa … an_upgrade

Offline

#3 2017-05-22 06:15:03

Jristz
Member
From: America/Santiago
Registered: 2011-06-11
Posts: 1,022

Re: [SOLVED] Using the live Arch iso to do a full system upgrade

and

pacstrap /mnt base base-devel

you could have a functional updated base system and from there you can update...
or and depending

arch-chroot /mnt
pacman -Syu
exit

also you can systemd-nspawn -bD /mnt to "chboot" in that system


Well, I suppose that this is somekind of signature, no?

Offline

#4 2017-05-22 08:24:01

piccolo_daimao
Member
Registered: 2016-01-30
Posts: 4

Re: [SOLVED] Using the live Arch iso to do a full system upgrade

seth wrote:

"/" is the root partition of your live system, use "--cachedir=/mnt/var/cache/pacman/pkg"

Also, don't follow obscure forum and reddit stuff, but always look into the wiki as very first step: https://wiki.archlinux.org/index.php/Pa … an_upgrade

Thank you so much, this worked perfectly! Though I am confused as to why. Does the "-r /mnt" flag not tell it to update the system at /mnt instead of at /? Why does telling it where the cache goes make it work?

Also, thanks for the Arch Wiki link; somehow I completely missed that bit and it's super helpful.

Jristz wrote:

and

pacstrap /mnt base base-devel

you could have a functional updated base system and from there you can update...
or and depending

arch-chroot /mnt
pacman -Syu
exit

also you can systemd-nspawn -bD /mnt to "chboot" in that system

Thanks, I didn't think of using pacstrap after having installed the system. I also really like the term chboot, thanks for sharing that command with me.

Offline

#5 2017-05-22 09:03:48

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: [SOLVED] Using the live Arch iso to do a full system upgrade

piccolo_daimao wrote:

Does the "-r /mnt" flag not tell it to update the system at /mnt instead of at /? Why does telling it where the cache goes make it work?

That's exactly what it does, but if you don't specify --cachedir then it tries to download all of the packages that need updating to the cache directory on the running live system instead of the system that you're trying to fix, there just isn't enough room to do so.

Last edited by Slithery (2017-05-22 09:04:25)


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

Board footer

Powered by FluxBB