Skip to content

Latest commit

 

History

History
87 lines (57 loc) · 3.46 KB

IMG_UPDATE.md

File metadata and controls

87 lines (57 loc) · 3.46 KB

OS Updates Overview

It is strongly recommended the administrator read the following articles in order to become familiar with Archlinux updating conventions:

System Maintenance - Upgrading the System

Pacman - Upgrading Packages

In the rare instance that updates require manual intervention, this will be noted in the news section of archlinux.org

It is important to understand that there are essentially two types of packages on archlinux.

  • Packages which are provided, already built, by a package repository (officially maintained software)
  • Packages which are built locally (AUR packages)

Pacman works as the package manager on archlinux. It handles built packages. It can download, install, uninstall, etc. but it does not create them.

A script called makepkg is provided with the pacman package for creating packages. The required argument for this script to work is a PKGBUILD, which must contain the details needed to create the package. Examples of PKGBUILDS can be found in the Arch User Repos

Makepkg standardizes the procedure for creating packages on archlinux and works with pacman to handle dependancies

a typical invocation of makepkg would be something like this:

git clone https://aur.archlinux.org/yay-git
cd yay-git
makepkg -si

-s install the needed dependencies -i install the created package

The above used makepkg to build and install the yay-git package from the Arch User Repos (AUR).

Yay is a wrapper for pacman and makepkg, elegantly written in go. Yay automates the creation and installation and updating of AUR packages, as well as being able to install any regular package because it's a wrapper for pacman.

As stated above, but repeated here for explicit clarity, updating with pacman alone will not update any AUR packages, and pacman cannot build packages from the AUR.

Updates

Tip: To update software on a multinode setup, first pass a full system update on the board hosting it's package cache

Full system update with pacman:

sudo pacman -Syy
sudo pacman -Syu

Full system update with yay:

yay -Syy
yay -Syu

Explicit updates of AUR packages

Because the mechanics of AUR packages are different from officially maintained packages, yay may fail to update certain AUR packages based on their version, if the version is 'autogenerated' or reflects the date of creation or a certain commit to the sources. It's best to update these packages explicitly from time to time, if you want to have the latest available software.

Updating an AUR package is the same as installing it:

yay -S yay-git

Updating skywire

yay -S skywire

Tip: traditional versioned releases or binary packages (i.e. skywire-bin) are generally not in need of explicit reinstallation. Their updates should be picked up by yay in the previous step

Troubleshooting no DNS on the board

The systemd-resolved.service is to blame for this. You need to turn it off and on until it works.

sudo systemctl stop systemd-resolved.service
sudo pacman -Syy && sudo pacman -Syu

The update will fail if DNS isn't available. Try again with

sudo systemctl start systemd-resolved.service
sudo pacman -Syy && sudo pacman -Syu

Stop / start it until DNS becomes responsive. This is an upstream bug.