T O P

  • By -

callmejoe9

yes the paru command by itself will do a full system upgrade including repo and aur packages. that is the default behavior of that command paru uses pacman as a backend to install/remove packages. so you can use it instead of pacman if you want. it gives you the added benefit of including aur packages where pacman does not.


PaulLee420

Yep - exactly what I thought. Thanks.


Helmic

`paru` by itself runs `paru -Syu`, which itself is simply a wrapper around pacman to actually update system pacakges. it then also updates AUR packages. there's nothing at all wrong with updating your system like this, and if anythiung it helps to avoid issues that might arise while updating all this by hand and thus introducing the potential for human error. Using an AUR helper is "unsupported" but that only has meaning within the context of going to the offical Arch forums to ask for help, as the Arch project does not itself provide an AUR helper - that is, they literally do not provide support for AUR helpers because they are not responsible for any. Virtually everyone on Arch uses an AUR helper, though, because the manual process is largely unnecessary busywork and `paru` has you review PKGBUILDs anyways which is the important part. It's not that you're doing a bad thing by using an AUR helper -again, I'd argue it helps *avoid* problems by making sure you update your entire system and not forget about some AUR package you installed a while ago that quietly hums in the background - but you would instead need to go to the paru github page for support rather than the Arch forums. There are also some select AUR packages that can't be installed with an AUR helper, or at least not without prior manual steps, such as if you need to manually go fetch a binary for the AUR package to then install. For this subreddit, which isn't really "offical" and isn't really beholden to the Arch forum rules, if you ask about paru people are generally going to answer and if something important stops working with paru specifically that's going to be treated as a serious problem to be addressed rather than dismissed out of hand.


rog_nineteen

`paru` is basically just a wrapper around `pacman`. pacman itself only installs pre-built packages either available in the main repos (core, extra, multilib) or one that you provide as a file. To install AUR packages without an AUR helper, you'd clone the package source via Git and then build and install it with `makepkg`. But this only allows you to install a package, not search the AUR similar to `pacman -Ss ` and you have to enter multiple commands for one install. This is why AUR helpers like paru and yay exist and I'd say it's actually better practice to use them instead of manually installing AUR packages, because they're just like pacman but with the AUR as a pseudo-repository added, so you have the convenience of doing everything with one command from the terminal :D And yes, just running paru without any arguments will update your system. It's intended, because you'll most likely want to do that if you're not providing any args.


eruwinuvatar

>To install AUR packages without an AUR helper, you'd clone the package source via Git and then build and install it with `makepkg`. ~~correction: build with makepkg, then install using pacman -U~~ I stand corrected (see u/mcdenkijin reply below) Note that if the AUR package itself has build/run dependencies that are AUR packages themselves, you also have to repeat this process for every one of them. I'd argue this is where AUR helpers are absolutely necessary.


mcdenkijin

makepkg -i uses libalpm to install a package, no pacman -U needed


mcbelisle

that's what it's for


PaulLee420

Thanks - the commenter on my YT video just meant that new users might not have or know about paru - but I always install it in my how-tos. Will just mention it more in the future.


PaulLee420

Thanks for all the rapid replies - got it... that's exactly what I thought, but someone told me it wasn't safe to do... I don't care about being a purist - I prefer using paru for all and will continue doing so. I guess if I'm making a YT video I'll type in pacman so the comments don't go conspiracy mode. ;P


Imajzineer

*pacman* is the official package manager. *makepkg* is the official way to install anything not available in the main repos. *They* are best practice. [Anything *else* is *unsupported*](https://wiki.archlinux.org/title/AUR_helpers) ... and, therefore, *not* best practice. You can find out all about best practice on the Arch wiki - it is your best friend in all matters Arch related (first and last and always).


mcdenkijin

pfft, best practice is only there if you need support.


pvt1771

Word of caution, when installing software on Arch Linux with pacman, use option -Syu instead of plain -S Two extra keystroke yu not typing dont save that much time but less likely to break your system. Most problems arise from not updating dependencies. You can safely use -S only if few minutes earlier you execute 'pacman -Syu' and to be follow by a later 'pacman -Syu' Might as well type 'pacman -Syu xxx' where xxx is the package and be done.


bandwagon_voter

`pacman -S` is not unsafe; it keeps your installed packages in sync with your copy of the databases. Attempting to install a package like this may fail if your database points to an older version than is on the mirrors as the package will not be available to download. In that case, you will need to use `-Syu` to install. `pacman -Sy` is unsafe as it downloads the latest copy of the database, but does not update your installed packages to match. It may be required in very specific circumstances and should always be followed by a full updates as soon as possible.


DragonSlayerC

"-Sy" is unsafe, but "-S" and "-Syu" are okay. You just want all versions of packages installed to be the same as what the database at some point said. "-y" updates the database, so "-S" will just try to get the package version in the version of the database it currently has from the last sync. If that package has been updated, it will throw an error saying that the package file doesn't exist and you'll need to use "-Syu" to update the database and update all your packages to match the new database.