Installing software package

I just finished installing EndeavourOS on my raspberry-pi 5 8g and wanted to install some additional web browsers and software so what type of packages do I need to install and how do I install them via terminal? Is it Linux RPM ARM64 that I’m looking for?

To install packages on Arch and Arch based systems use pacman

type man pacman to learn about the features it offers

pacman -S to install packages (note this is arch make sure you update before installing packages)

https://wiki.archlinux.org/title/Pacman/Rosetta

3 Likes

There is more than one way.

I would use yay. For example, if you type yay browser you will get a list of packages that contain the word “browser” and you can pick the ones you want and then just type the numbers in and they will be installed.

6 Likes

How do I update via terminal? And what kind of packages does Arch use? I’m used to using and installing .deb packages on ubuntu/debian based systems. I’m trying to get proficient with the terminal instead of relying on the GUI all of the time.

Welcome to the forum :enos_flag: :enos:
You can take a look at the welcome app there are three options there.
Or use just type yay or sudo pacman -Syu

2 Likes

If you want to update, just type yay in the terminal. That will update both your repo and AUR packages.

With Arch, you don’t need to download packages manually and install them. You can just use yay to download and install everything you need.

2 Likes

Yeah! I looked at the welcome screen and used the assistance portion of it to do my initial updating. Thanks.

$ man pacman
bash: man: command not found

2 Likes

man-db
I think it should come by default?

1 Like

Welcome to EOS :enos:. Also do have a look on Pacseek - A terminal user interface for searching and installing Arch Linux packages.

I’m trying to install vivaldi web browser for instance but with the Quickstart Installer it won’t let me and when I yay vivaldi it won’t let me because it doesn’t support the aarch64 architecture but when you go to there website it says that they do. So which one do I need to download and how do I install it in terminal?

Sounds like you need a complete rundown.

When I was learning I liked to keep my processes segregated but there’s no real purpose to it.

There are two repositories that matter. The main arch repository and the arch USER repository (AUR). The arch repo is much smaller but everything in here is managed by the arch team. You can trust anything in here as much as you trust your OS (which isn’t to say it won’t break sometimes). The AUR is a database resource arch provides for it’s users. Everything in there is user maintained, there can be bad package builds that provide viruses or w/e so learn to read the package build file and use the rating system to determine what you are comfortable installing. Installing from elsewhere (that isn’t flatpack or snaps or w/e) is asking for trouble.

As I said, when I was learning I separated things, I used sudo pacman -S xyz to install from the main repo, and yay -S xyz to install things from the AUR. I liked doing it like this because it meant I was not installing things with super user permissions from the AUR (until I entered my pw at the end, but it did make me feel better).

These days I just use pacseek as mentioned above and it works for both. ngl if man pacman isn’t working something is seriously screwy with your install. To run on a rasberrypi I’d just try the regular vivaldi package. I’m on wayalnd and generally found stuff to just work when everyone says it’s X11 only, son no harm in trying it. pacman and yay make things easy to remove with the yay -Rns command anyways. If that doesn’t work go look on the AUR for someone who’s done a package build for ARM. I definitely would not try to install packages manually, it’s a complete pain in the ass, though if you have a .tar.gz file you can install that with yay, and it works well enough, though dependencies can sometimes be a struggle if you do that.

1 Like

You might try installing vivaldi-multiarch-bin. The package includes support for x86_64, aarch64 and armv7h.

yay -S vivaldi-multiarch-bin

As a note, you can see what architecture each package supports, by reviewing it’s PKGBUILD file.

For vivaldi-multiarch-bin, the relevant line is here:

2 Likes

Why would there be something screwy with my install and how would that happen? Should I try to install it again?

Yeah! That’s what I ended up doing. It’s an older version though isn’t it?

Yeah I guess so. The current looks to be version 7.x, whereas the multiarch version is 6.2.x.

I manually updated the package locally and it worked. It’s pretty easy to do. To do this yourself:

  1. Download the vivaldi-multiarch-bin package snapshot and extract it into a temporary folder.
  2. Edit the PKGBUILD file, updating the _rpmversion and pkgver to the current release. Those two lines should look like this now:
_rpmversion=7.0.3495.29-1
pkgver=7.0.3495.29
  1. Open a terminal inside that temporary folder and run this to automatically update the sha512sums in the PKGBUILD file:
updpkgsums
  1. Now package and install it:
makepkg -sri

For your reference, the full updated PKGBUILD should look like this:

# Maintainer: Mark Ignacio <mark@ignacio.io>
# Contributor: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
# Contributor: TZ86

pkgname=vivaldi-multiarch-bin
_rpmversion=7.0.3495.29-1
pkgver=7.0.3495.29
pkgrel=1
pkgdesc='An advanced browser made with the power user in mind. Includes all supported architectures.'
url="https://vivaldi.com"
options=(!strip !zipman)
license=('custom')
conflicts=('vivaldi')
arch=('x86_64' 'aarch64' 'armv7h')
depends=('gtk3' 'libcups' 'nss' 'alsa-lib' 'libxss' 'ttf-font' 'desktop-file-utils' 'shared-mime-info' 'hicolor-icon-theme')
makedepends=('w3m')
optdepends=(
    'vivaldi-ffmpeg-codecs: playback of proprietary video/audio'
    'libnotify: native notifications'
)

source=('0001-add-support-for-user-flags.patch')
source_x86_64=("https://downloads.vivaldi.com/stable/vivaldi-stable-${_rpmversion}.x86_64.rpm")
source_aarch64=("https://downloads.vivaldi.com/stable/vivaldi-stable-${_rpmversion}.aarch64.rpm")
source_armv7h=("https://downloads.vivaldi.com/stable/vivaldi-stable-${_rpmversion}.armv7hl.rpm")

sha512sums=('334db2056114fdbf07407b1cee24284f019df7a15acd711ed016bab1a1ab211abf3884ed848f3496486e7c78056108ccf1e88547e22b787bc4f548c6785f64d2')
sha512sums_x86_64=('0284d1c1f8e0ddffd0304890177708b8974f4522bf0ea9b93f0d330f60dec089ba8a2a5084ffc5507f509d3f1b18efcc3ef9418e02f0101c49e7e14f62a3c15a')
sha512sums_aarch64=('811f9a63ec533ca55b394e8aec619fdb15ddb8adee96ef86b375e1f35613fc5e9d89e4f9ade9554e07945e12598dac1103d01d6358e218412da7a03a547b4df8')
sha512sums_armv7h=('dccb22be2886a72d34c92e13490f3c726e8649975064babc75e1367c392d20947a562ffd7d28bcaaafeb4c9db34e643451243bb1dda4f2d8695692264c33f355')

package() {
    cp --parents -a {opt,usr/bin,usr/share} "$pkgdir"

    # add support for ~/.config/vivaldi-stable.conf
    patch -p1 -i "$srcdir/0001-add-support-for-user-flags.patch" \
        "$pkgdir/opt/vivaldi/vivaldi"

    # suid sandbox
    chmod 4755 "$pkgdir/opt/vivaldi/vivaldi-sandbox"

    # make /usr/bin/vivaldi-stable available
    binf="$pkgdir/usr/bin/vivaldi-stable"
    if [[ ! -e "$binf" ]] && [[ ! -f "$binf" ]] && [[ ! -L "$binf" ]]; then
        install -dm755 "$pkgdir/usr/bin"
        ln -s /opt/vivaldi/vivaldi "$binf"
    fi

    # install icons
    for res in 16 22 24 32 48 64 128 256; do
        install -Dm644 "$pkgdir/opt/vivaldi/product_logo_${res}.png" \
            "$pkgdir/usr/share/icons/hicolor/${res}x${res}/apps/vivaldi.png"
    done

    # install global icon in case hicolor theme gets bypassed
    install -Dm644 "$pkgdir/opt/vivaldi/product_logo_256.png" \
        "$pkgdir/usr/share/pixmaps/vivaldi.png"

    # license
    install -dm755 "$pkgdir/usr/share/licenses/vivaldi"
    w3m -dump "$pkgdir/opt/vivaldi/LICENSE.html" \
        | head -n 5 \
        > "$pkgdir/usr/share/licenses/vivaldi/license.txt"
}

I don’t think we install man pages in ARM edition due to size issues. @Pudge can confirm whether that’s true.
You can install them yourself
https://wiki.archlinux.org/title/Man_page

2 Likes

updpkgsums didn’t work. It gave me some error messages.

You can copy/paste in the PKGBUILD I shared above (it’s what the final result should be). I’d be happy to try and troubleshoot updpkgsums with you though, if you’d like to share the exact error.

I should premise, I did all of the above (including installing) on x86_64 architecture. I’m not sure if updpkgsums works on aarch64.

2 Likes