Previous Page

nihilist@mainpc - 2024-06-16

How to install and update programs on Linux

In this tutorial, we're going to take a look at how you can install and update your programs on linux:

OPSEC Recommendations:

  1. Hardware : PC / Laptop / Homeserver / Remote Server

  2. OS : Linux

I recommend using this setup for Private use, as per the 4 basic OPSEC levels.

Apt: Updating the repositories and packages

First we need to open up a terminal:

and then we can run the following command sudo apt update to make sure that our linux OS has the data regarding which are latest package versions:


nihilist@mainpc:~$ sudo apt update
[sudo] password for nihilist:
Hit:1 http://deb.debian.org/debian bookworm InRelease
Get:2 http://security.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Hit:4 https://repository.mullvad.net/deb/stable bookworm InRelease
Get:5 http://security.debian.org/debian-security bookworm-security/main Sources [99.0 kB]
Get:6 http://security.debian.org/debian-security bookworm-security/main amd64 Packages [160 kB]
Get:7 http://security.debian.org/debian-security bookworm-security/main Translation-en [96.4 kB]
Get:8 https://packages.element.io/debian default InRelease [3,618 B]
Get:9 https://packages.element.io/debian default/main amd64 Packages [1,030 B]
Get:10 tor+http://deb.w5j6stm77zs6652pgsij4awcjeel3eco7kvipheu6mtr623eyyehj4yd.onion bookworm InRelease [62.0 kB]
Get:11 tor+http://deb.w5j6stm77zs6652pgsij4awcjeel3eco7kvipheu6mtr623eyyehj4yd.onion bookworm/main amd64 Packages [36.1 kB]
Fetched 561 kB in 20s (28.5 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
24 packages can be upgraded. Run 'apt list --upgradable' to see them.
	

And at the bottom you see that there are 24 packages that can be upgraded, so we run sudo apt upgrade to make sure that those packages are on the latest available versions:


nihilist@mainpc:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  default-jdk-headless libice-dev libpthread-stubs0-dev libsm-dev libwpe-1.0-1 libwpebackend-fdo-1.0-1 libx11-dev libxau-dev libxcb1-dev libxdmcp-dev libxt-dev linux-image-6.1.0-17-amd64 openjdk-17-jdk openjdk-17-jdk-headless x11proto-dev
  xorg-sgml-doctools xtrans-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be upgraded:
  element-desktop ffmpeg firefox-esr gir1.2-gst-plugins-base-1.0 gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-plugins-base gstreamer1.0-x libarchive-tools libarchive13 libavcodec59 libavdevice59 libavfilter8 libavformat59 libavutil57
  libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libpostproc56 libswresample4 libswscale6 python3-pil python3-pil.imagetk tb-updater thunderbird
24 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 134 MB/234 MB of archives.
After this operation, 5,378 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
	

Here we press y and enter to continue, then let it run:


Do you want to continue? [Y/n] y
Get:1 http://security.debian.org/debian-security bookworm-security/main amd64 libswscale6 amd64 7:5.1.5-0+deb12u1 [215 kB]
Get:2 http://security.debian.org/debian-security bookworm-security/main amd64 libavdevice59 amd64 7:5.1.5-0+deb12u1 [114 kB]
Get:3 http://security.debian.org/debian-security bookworm-security/main amd64 libavformat59 amd64 7:5.1.5-0+deb12u1 [1,102 kB]
Get:4 http://security.debian.org/debian-security bookworm-security/main amd64 libavfilter8 amd64 7:5.1.5-0+deb12u1 [3,703 kB]
Get:5 http://security.debian.org/debian-security bookworm-security/main amd64 libavcodec59 amd64 7:5.1.5-0+deb12u1 [5,216 kB]
Get:6 http://security.debian.org/debian-security bookworm-security/main amd64 libavutil57 amd64 7:5.1.5-0+deb12u1 [363 kB]
Get:7 http://security.debian.org/debian-security bookworm-security/main amd64 libpostproc56 amd64 7:5.1.5-0+deb12u1 [94.0 kB]
Get:8 http://security.debian.org/debian-security bookworm-security/main amd64 libswresample4 amd64 7:5.1.5-0+deb12u1 [97.3 kB]
Get:9 http://security.debian.org/debian-security bookworm-security/main amd64 ffmpeg amd64 7:5.1.5-0+deb12u1 [1,814 kB]
Get:10 http://security.debian.org/debian-security bookworm-security/main amd64 firefox-esr amd64 115.12.0esr-1~deb12u1 [63.1 MB]
Get:11 tor+http://deb.w5j6stm77zs6652pgsij4awcjeel3eco7kvipheu6mtr623eyyehj4yd.onion bookworm/main amd64 tb-updater all 3:33.4-1 [245 kB]
Get:12 http://security.debian.org/debian-security bookworm-security/main amd64 thunderbird amd64 1:115.12.0-1~deb12u1 [58.3 MB]
Fetched 134 MB in 20s (6,658 kB/s)
Reading changelogs... Done
(Reading database ... 219964 files and directories currently installed.)
Preparing to unpack .../00-element-desktop_1.11.68_amd64.deb ...
Unpacking element-desktop (1.11.68) over (1.11.67) ...
Preparing to unpack .../01-libswscale6_7%3a5.1.5-0+deb12u1_amd64.deb ...
Unpacking libswscale6:amd64 (7:5.1.5-0+deb12u1) over (7:5.1.4-0+deb12u1) ...
Preparing to unpack .../02-libavdevice59_7%3a5.1.5-0+deb12u1_amd64.deb ...
Unpacking libavdevice59:amd64 (7:5.1.5-0+deb12u1) over (7:5.1.4-0+deb12u1) ...
Preparing to unpack .../03-libavformat59_7%3a5.1.5-0+deb12u1_amd64.deb ...
Unpacking libavformat59:amd64 (7:5.1.5-0+deb12u1) over (7:5.1.4-0+deb12u1) ...
Preparing to unpack .../04-libavfilter8_7%3a5.1.5-0+deb12u1_amd64.deb ...
Unpacking libavfilter8:amd64 (7:5.1.5-0+deb12u1) over (7:5.1.4-0+deb12u1) ...
Preparing to unpack .../05-libavcodec59_7%3a5.1.5-0+deb12u1_amd64.deb ...
Unpacking libavcodec59:amd64 (7:5.1.5-0+deb12u1) over (7:5.1.4-0+deb12u1) ...
Preparing to unpack .../06-libavutil57_7%3a5.1.5-0+deb12u1_amd64.deb ...
Unpacking libavutil57:amd64 (7:5.1.5-0+deb12u1) over (7:5.1.4-0+deb12u1) ...
Preparing to unpack .../07-libpostproc56_7%3a5.1.5-0+deb12u1_amd64.deb ...
Unpacking libpostproc56:amd64 (7:5.1.5-0+deb12u1) over (7:5.1.4-0+deb12u1) ...
Preparing to unpack .../08-libswresample4_7%3a5.1.5-0+deb12u1_amd64.deb ...
Unpacking libswresample4:amd64 (7:5.1.5-0+deb12u1) over (7:5.1.4-0+deb12u1) ...
Preparing to unpack .../09-ffmpeg_7%3a5.1.5-0+deb12u1_amd64.deb ...
Unpacking ffmpeg (7:5.1.5-0+deb12u1) over (7:5.1.4-0+deb12u1) ...
Preparing to unpack .../10-firefox-esr_115.12.0esr-1~deb12u1_amd64.deb ...
Leaving 'diversion of /usr/bin/firefox to /usr/bin/firefox.real by firefox-esr'
Unpacking firefox-esr (115.12.0esr-1~deb12u1) over (115.11.0esr-1~deb12u1) ...
Preparing to unpack .../11-libgstreamer-plugins-base1.0-0_1.22.0-3+deb12u2_amd64.deb ...
Unpacking libgstreamer-plugins-base1.0-0:amd64 (1.22.0-3+deb12u2) over (1.22.0-3+deb12u1) ...
Preparing to unpack .../12-libgstreamer-gl1.0-0_1.22.0-3+deb12u2_amd64.deb ...
Unpacking libgstreamer-gl1.0-0:amd64 (1.22.0-3+deb12u2) over (1.22.0-3+deb12u1) ...
Preparing to unpack .../13-gir1.2-gst-plugins-base-1.0_1.22.0-3+deb12u2_amd64.deb ...
Unpacking gir1.2-gst-plugins-base-1.0:amd64 (1.22.0-3+deb12u2) over (1.22.0-3+deb12u1) ...
Preparing to unpack .../14-gstreamer1.0-alsa_1.22.0-3+deb12u2_amd64.deb ...
Unpacking gstreamer1.0-alsa:amd64 (1.22.0-3+deb12u2) over (1.22.0-3+deb12u1) ...
Preparing to unpack .../15-gstreamer1.0-gl_1.22.0-3+deb12u2_amd64.deb ...
Unpacking gstreamer1.0-gl:amd64 (1.22.0-3+deb12u2) over (1.22.0-3+deb12u1) ...
Preparing to unpack .../16-gstreamer1.0-plugins-base_1.22.0-3+deb12u2_amd64.deb ...
Unpacking gstreamer1.0-plugins-base:amd64 (1.22.0-3+deb12u2) over (1.22.0-3+deb12u1) ...
Preparing to unpack .../17-gstreamer1.0-x_1.22.0-3+deb12u2_amd64.deb ...
Unpacking gstreamer1.0-x:amd64 (1.22.0-3+deb12u2) over (1.22.0-3+deb12u1) ...
Preparing to unpack .../18-libarchive-tools_3.6.2-1+deb12u1_amd64.deb ...
Unpacking libarchive-tools (3.6.2-1+deb12u1) over (3.6.2-1) ...
Preparing to unpack .../19-libarchive13_3.6.2-1+deb12u1_amd64.deb ...
Unpacking libarchive13:amd64 (3.6.2-1+deb12u1) over (3.6.2-1) ...
Preparing to unpack .../20-python3-pil.imagetk_9.4.0-1.1+deb12u1_amd64.deb ...
Unpacking python3-pil.imagetk:amd64 (9.4.0-1.1+deb12u1) over (9.4.0-1.1+b1) ...
Preparing to unpack .../21-python3-pil_9.4.0-1.1+deb12u1_amd64.deb ...
Unpacking python3-pil:amd64 (9.4.0-1.1+deb12u1) over (9.4.0-1.1+b1) ...
Preparing to unpack .../22-tb-updater_3%3a33.4-1_all.deb ...
Unpacking tb-updater (3:33.4-1) over (3:33.0-1) ...
Preparing to unpack .../23-thunderbird_1%3a115.12.0-1~deb12u1_amd64.deb ...
Unpacking thunderbird (1:115.12.0-1~deb12u1) over (1:115.11.0-1~deb12u1) ...
Setting up libarchive13:amd64 (3.6.2-1+deb12u1) ...
Setting up element-desktop (1.11.68) ...
update-alternatives is /usr/bin/update-alternatives
Setting up libgstreamer-plugins-base1.0-0:amd64 (1.22.0-3+deb12u2) ...
Setting up python3-pil:amd64 (9.4.0-1.1+deb12u1) ...
Setting up libavutil57:amd64 (7:5.1.5-0+deb12u1) ...
Setting up libgstreamer-gl1.0-0:amd64 (1.22.0-3+deb12u2) ...
Setting up gstreamer1.0-plugins-base:amd64 (1.22.0-3+deb12u2) ...
Setting up python3-pil.imagetk:amd64 (9.4.0-1.1+deb12u1) ...
Setting up libswresample4:amd64 (7:5.1.5-0+deb12u1) ...
Setting up thunderbird (1:115.12.0-1~deb12u1) ...
Skipping profile in /etc/apparmor.d/disable: usr.bin.thunderbird
Setting up libpostproc56:amd64 (7:5.1.5-0+deb12u1) ...
Setting up libavcodec59:amd64 (7:5.1.5-0+deb12u1) ...
Setting up libswscale6:amd64 (7:5.1.5-0+deb12u1) ...
Setting up firefox-esr (115.12.0esr-1~deb12u1) ...
Setting up gstreamer1.0-gl:amd64 (1.22.0-3+deb12u2) ...
Setting up libarchive-tools (3.6.2-1+deb12u1) ...
Setting up gstreamer1.0-x:amd64 (1.22.0-3+deb12u2) ...
Setting up gstreamer1.0-alsa:amd64 (1.22.0-3+deb12u2) ...
Setting up libavformat59:amd64 (7:5.1.5-0+deb12u1) ...
Setting up gir1.2-gst-plugins-base-1.0:amd64 (1.22.0-3+deb12u2) ...
Setting up libavfilter8:amd64 (7:5.1.5-0+deb12u1) ...
Setting up tb-updater (3:33.4-1) ...
INFO: Using '--postinst' option but outside of Qubes Template, skipping, ok.
Setting up libavdevice59:amd64 (7:5.1.5-0+deb12u1) ...
Setting up ffmpeg (7:5.1.5-0+deb12u1) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for libc-bin (2.36-9+deb12u7) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for mailcap (3.70+nmu1) ...
Scanning processes...
Scanning candidates...
Scanning linux images...

Running kernel seems to be up-to-date.

Restarting services...
 systemctl restart fwupd.service

No containers need to be restarted.

User sessions running outdated binaries:
 nihilist @ session #2: cinnamon[1513], element-desktop[103821,103826,103827,103829], firefox-esr[1238857]
 nihilist @ user manager service: systemd[1229]

No VM guests are running outdated hypervisor (qemu) binaries on this host.
	

during the package upgrade it can prompt you if you want to restart processes:

Just press enter to allow the process to be restarted, and for the package upgrade to finish.

Installing new packages on Linux



First we can use the apt search pkgname command to look for available packages:


nihilist@mainpc:~$ apt search firefox-esr
Sorting... Done
Full Text Search... Done

firefox-esr/stable-security,now 115.12.0esr-1~deb12u1 amd64
  Mozilla Firefox web browser - Extended Support Release (ESR)
	

Here we see that the firefox package is available, so let's install it with the apt install pgkname command:


nihilist@mainpc:~$ sudo apt install firefox-esr -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
firefox-esr is already the newest version (115.12.0esr-1~deb12u1).
	

And then you can launch it:


nihilist@mainpc:~$ which firefox
/usr/bin/firefox
nihilist@mainpc:~$ firefox

and if you want to remove the package you can use the command apt purge firefox-esr

Next, Bob can setup an open-source hypervisor on his linux laptop to properly segment his internet usage.

Nihilism

Until there is Nothing left.

About nihilist

Donate XMR: 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8


Contact: nihilist@nowhere.moe (PGP)