Manjaro supports Snap



Thanks !! I do a

sudo pacman-mirrors -f 5 && sudo pacman -Syy && sudo pacman-optimize && sudo sync && yaourt -Syyua

Twice a day.

I just did a

sudo pacman -Syyu

and snapd was there.
What is the difference between -Syyu & -Syy ?


yy updates the package cache. The yyu updates the cache and your system.

Pacman Rosetta:


You don’t need this, because the programs before it close their file handles and consequently flush their buffers. As for the file system journal, it has its own methods for updating file contents before being read if they have yet to be committed to disk and sync won’t provide any benefits during normal disk operations.

On the other hand, you risk interfering with other background processes which may require delayed read/write to work properly. The Linux sync command is a problem-solving tool, not a generic tool for everyday use. Do not use it like this.

Don’t EVER use aur helpers to upgrade your system. AUR helpers should only be used to install packages from the AUR and upgrade them. They shouldn’t even be used to uninstall packages.

Use pacman instead with -Syyu. Then when pacman is done, you can update your AUR packages with yaourt -Sua. This is safer since it permits that your repository packages be managed by the official application of the package system, and delegates to third-party tools only the task of managing packages from the AUR.

As @c00ter explained.

So that means the problem is elsewhere. Likely with your use of pacman-optimize (another program that really only needs to be used rarely) or yaourt.

Also note that you are forcing a synchronization of the database twice. Once with pacman -Syy and another with yaourt -Syy. Needless duplication of efforts.

If you insist in running your updates through a similar command line, then I suggest the following:

1st: $ sudo pacman-mirrors -f5 && sudo pacman -Syyu

Stop here. Do not add "&& yaourt…` to the above command line. The reason is that you want to look at the output given. And if needed be act after a successful update before updating the AUR. Avoid chaining commands like that every time you know there is a chance you may have to be called to act after a command completes.

2nd: $ yaourt -Sua

And you will be done after this.


Well, thank you indeed for this detailed explanation !

A little problem on my install with the last command :confused:

~]$ yaourt -ua
pacman : option invalide -- 'a' 
~]$ yaourt -u
erreur : option invalide '-u'


What I love about the AUR is that (at least in most cases) you can just look at the PKGBUILD and the sources and you will see what is going on and what and how a package will be built and installed. And the same applies to the packages in Manjaro repos. Although the normal user doesn’t build them himself, he still has the opportunity to go back and look at what exactly has been packaged.
Now, if I understand correctly, snaps are binaries, right? How does one know what they contain exactly?


I’m with you there, another advantage of AUR that it’s easy to create your own PKGBUILDS. You don’t have to understand much about coding because it’s basically just simple bash-ing.

Snaps can be useful in some cases, but it’s certainly not for everyone.
Let’s take for example chromium, why would one install a snap over just using the one from the repos? For security reasons given that snaps run in sandboxes? Doesn’t this need a correct AppArmor setup? I’m not really into this.

Snaps could work well for “fixed” things like games, bringing all the needed libraries with it, thus avoiding mismatches with the rolling release updates.
But I’m not really convinced yet, maybe it works better on Ubuntu?


Agree, but snap apps execute within isolated containers which mitigate against potential harm.

Playing devil’s advocate there are AUR packages which are basically thinly wrapped binaries, except these don’t have automatic sandbox protection. The user would have to manually install and configure a firejail profile, or setup a more involved container (ie Docker), to get similar protection.

Having said all that I still much prefer AUR when an edge app is required, mainly due to PKGBUILD transparency and trust.


My bad. I was missing the sync option. Fixed on the original post: yaourt -Sua


They are SquashFS files and their contents can be inspected. The package community/squashfs-tools contains unsquashfs which can be used to list the compressed file contents with the -l and -ll options. The SquashFS format is also open and other tools can be (have been) built against the SquashFS library.

In addition to the application and system files, the compressed file also contains a /meta folder which has the configuration files. /meta/snap.yaml is as relevant to the snap file as the PKGBUILD is on AUR. So it can be inspected for the relevant information pertaining to its installation. Meanwhile, a /meta/hooks folder may also exist with its files containing event-based hooks with installation instructions, like we have on the Arch Build System.

All together, these things will provide a better level of understanding than AUR itself over what is going to be installed on the system, since AUR often includes a build process which completely hides the file structure contents from the user.

So, snaps (and flatpaks, but using different methods) can be easily inspected and are really not that different from AUR (in the end they are doing the exact same thing which is putting software on a common operating system). Their file formats aren’t locked tight, although they are lacking easy to use tools to obtain such information. No doubt, their niche nature being the most probable cause.


Thanks !


Not Snap or Flatpak related…

Have you guys ever considered having firmware BIOS update in Manjaro ?

As far as I know, only Fedora and Ubuntu have that feature with the Gnome Software Center.


Fwupd already exists in official repositories:

╰─ pacman -Ss fwupd     
community/fwupd 0.9.7-1 [εγκατεστημένο]
    A simple daemon to allow session software to update firmware
community/fwupdate 9-2 [εγκατεστημένο]
    Tools for using the ESRT and UpdateCapsule() to apply firmware updates


And the updates themselves are proprietary binaries subject to licensing mechanisms, for which reason they are not compatible for inclusion in the official repos (although Manjaro does not have a clear rule about that, that I know of). They are potential candidates for AUR though. But that’s the responsibility of the community to maintain.


Currently GNOME Software is the only graphical frontend available. When compiled with firmware support, it will check for updates periodically and automatically download firmware in the background.

After the firmware has been downloaded a popup will be displayed in Gnome Software to perform the update.


Any news about confinement support at the kernel level (app armor) like solus os implemented?
I read, Canonical is helping to implement that?

On a side note, the store lists many outdated snaps, wasn’t the point of all this to keep them fresh and updated to the lastest stable release? Looks like serious maintainers are missing IMHO…


Does Pamac supports snaps?


No, Pamac does not yet support snaps


Back when I was using Ubuntu, snaps had this annoying feature where they would place a snap folder in the home directory that wasn’t hidden and there was no way to change it. I like to have my personal files visible in home directory and settings files invisible (with the . in front) so I didn’t use snaps for this reason. For those of you interested, you can read about this bug here.

Does snap still disallow changing the directory of the snaps? I don’t use it for that reason. Is there a way to place the directory somewhere else in Manjaro, like ~/.snap instead?


Not the answer to your problem but perhaps a workaround. You can create a text file in your home partition called “.hidden” anything you add to that file will receive a hidden flag and hide like a normal hidden folder. I use it to hide default folders I will never use like “Public” & “Templates”.


Thanks for the possible workaround. I knew about the .hidden file, but it doesn’t seem to work for me when I use dolphin in KDE. It seems to have no effect when I create the .hidden file in the home directory and add entries in it, the files and folders named within remain visible. Does it only work in nautilus?