💾 Archived View for complete.org › installing-debian-backports-on-raspberry-pi captured on 2024-08-18 at 17:45:13. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Installing Debian Backports on Raspberry Pi

This page is intended to describe how to run Debian[1]'s backports[2] on a Raspberry Pi[3] running Raspberry Pi OS (Raspbian).

1: /debian/

2: https://backports.debian.org/

3: /raspberry-pi/

Backports is Debian's way of building newer packages for its stable releases. I intend this page specifically to help people run the Debian packages for NNCP[4] and Yggdrasil[5], both of which are maintained by me, John Goerzen[6].

4: /nncp/

5: /yggdrasil/

6: /john-goerzen/

Most Raspberry Pis will be running Raspberry Pi OS or its close cousin, Raspbian.

Compatibility

Before proceeding, verify that your system is compatible with these instructions.

Hardware

Raspbian uses a modified version of Debian's armhf port. We will be using an unmodified armhf port. The Debian Wiki Raspberry Pi page[7] describes which models are compatible with the unmodified armhf port. As of March 2022, here is what you need to know:

7: https://wiki.debian.org/RaspberryPi#Raspberry_Pi_Models

You can verify your model by typing `cat /proc/cpuinfo`. You will see the model name at the end of the output.

Software

You will need to be running the Raspberry Pi OS based on Debian bullseye or bookworm. Here's how to verify this:

First, run this:

grep -r bullseye /etc/apt/sources.list*
grep -r bookworm /etc/apt/sources.list*

If you see no output from either of those commands, you are on a version that is too old, and will need to first reinstall with the most recent Raspberry Pi OS.

On the other hand, if you see a line or more of output, you're good to proceed.

Obtaining the Debian Archive Keyring

Now, you will need to install the Debian archive keyring so that apt on your pi can authenticate the packages from Debian. Run these two commands:

curl -O http://http.us.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2023.4_all.deb

sudo dpkg -i debian-archive-keyring_2023.4_all.deb

If that link ever stops working, the Debian package page[8] can help you get a newer one.

8: https://packages.debian.org/sid/debian-archive-keyring

Configuring for backports

Now, run this:

echo "deb http://deb.debian.org/debian bookworm-backports main" | \
   sudo tee /etc/apt/sources.list.d/bookworm-backports.list

apt-get update

(If you are on bullseye as discovered above, use `bullseye` instead of `bookworm` on both of those lines.)

Installing package

At this point, you should have seen the update progress with no errors. Now you can move on to install your packages. You will need to add `-t bookworm-backports` (or `-t bullseye-backports` as appropriate) to apt/apt-get for every package you install from backports. For instance:

apt-get -t bookworm-backports install nncp

apt-get -t bookworm-backports install yggdrasil

That's it!

--------------------------------------------------------------------------------

Links to this note

9: /live-migrating-from-raspberry-pi-os-bullseye-to-debian-bookworm/

I've been getting annoyed with Raspberry Pi OS (Raspbian) for years now. It's a fork of Debian[10], but manages to omit some of the most useful things. So I've decided to migrate all of my Pis to run pure Debian. These are my reasons:

10: /debian/

11: /filespooler/

Filespooler lets you request the remote execution of programs, including stdin and environment. It can use tools such as S3, Dropbox, Syncthing[12], NNCP[13], ssh, UUCP[14], USB drives, CDs, etc. as transport; basically, a filesystem is the network for Filespooler.
Filespooler is particularly suited to distributed and Asynchronous Communication[15].

12: /syncthing/

13: /nncp/

14: /uucp/

15: /asynchronous-communication/

16: /yggdrasil/

Yggdrasil is a Mesh Network[17] that is fully Encrypted[18] and provides an IPv6 IP on the network to anyone.

17: /mesh-network/

18: /encrypted/

19: /raspberry-pi/

One of several single-board computers. The Raspberry Pi is an ARM computer that typically sells for less than $50. Generally is runs a derivative of Debian[20].

20: /debian/

21: /nncp/

NNCP lets you securely send files, or request remote execution, between systems. It uses asynchronous communication[22], so the source and destination need never be online simultaneously. NNCP can route requests via intermediate devices -- other NNCP nodes, USB sticks, tapes, radios, phones, cloud services, whatever -- leading to a network that is highly resilient and flexible. NNCP makes it much easier to communicate with devices that lack Internet connectivity, or have poor Internet.

22: /asynchronous-communication/

More on www.complete.org

Homepage

Interesting Topics

How This Site is Built

About John Goerzen

Web version of this site

(c) 2022-2024 John Goerzen