Self-update doesn't seem to work

Just installed restic on a Linux Mint machine (22.2).

The current restic version is 0.16.4.

I saw that the latest stable version is 0.18 so wanted to upgrade. I ran sudo restic self-update but that doesn’t work (apparently) on my system … which has been experienced by other people.

I’m a newish Linux user and have little understanding of how to go about building/installing version 0.18 from the github page. Could someone tell me what the steps are? (Also do I then need to remove version 0.16, and if so, do I use Software Manager or apt or something to do that?).

Hi @mrodent many Linux distros remove the self-update because it interferes with their own package management.

1 Like

Btw, I put restic 0.18.1 in ~/.local/bin (manually) and use it instead of the system restic 0.16.4 in /usr/bin. That way, you can also use self-update to update it.

OK, thanks.

But that doesn’t seem to solve the problem … how do I actually get hold of 0.18? I mean all the Linux files, including the Linux executable.

I just went and looked at the github page again: all these files seem to be the components for BUILDING those files. But as I say, I have no understanding of how building works. The .tar.gz, for example, expands to reveal various folders and files… but no executable called “restic”.

If there’s a way of getting the thing ready-built, can you explain?

It says right here: Installation — restic 0.18.1-dev documentationInstallation — restic 0.18.1-dev documentationRelease restic 0.18.1 · restic/restic · GitHubhttps://github.com/restic/restic/releases/download/v0.18.1/restic_0.18.1_linux_amd64.bz2 for the amd64 Linux binary.

Generally speaking, looking at the releases page on a Github project is where you find the release artifacts :slight_smile:

You can download this package, bunzip2 it, and then rename the binary to restic and place it wherever you want. Don’t forget to make sure it’s executable.

Thanks but I’m still confused… there’s nothing on that installation page which says “Release” or “Release restic 0.18.1” … There’s “Official Binaries” and under that “Stable Relases”. Is that what you mean?

Anyway, when I go to the link there “restic release page”, which I had already found, I look under “Assets” (which you don’t refer to in your answer).

So I downloaded that .bz2 file (why would I have chosen that file in particular?) … and extracted. The file inside is called restic_0.18.1_linux_amd64 … and is not executable. Strange.

Anyway I made it executable and eventually got it to run.

Thanks.

Yes. You are simply lacking the basic terminology, that’s all :slight_smile:

A “release” in general software talk is “a distribution of the software at a specific state, resulting in a specific version”. Have a look at Software release life cycle - Wikipedia for a longer but good explanation of software release cycles, which includes the notion of a “release”.

So when we say “the 0.18.1 release”, we mean the restic software as it is released/distributed in the state that makes up version 0.18.1 of it".

A release must “be” something tangiable of course, and with software it is most often some kind of release artifact. It can be a binary, an executable that you download, a package with source code, a package that you install, etc.

Those release artifacts are usually made available on a “download” page or when it comes to GitHub on the releases page. So you can go there and download the artifact that suits your operating system and platform, in your case the amd64 Linux one I linked you to earlier.

The “official binaries” means the binaries (release artifacts, i.e. the executables that you download and run) that are the official ones (built/compiled and made available for download by the restic project).

I did not refer to assets, because I was already very deep down into fundamental basic linguistics that normally does not need to be explained. I thought it would be obvious that those are the assets you can download.

Given the fact that pretty much all of the downloadable files there are .bz2 files, and bz2 is a common package format, it’s more or less given that those are the artifacts that one want to download to get that release for the given platform.

The fact that the files have names with suffixes in them are also a common thing. I’m sorry but honestly this is just a matter of you not being very used to this common form of software distribution. You will find this type of distribution in probably hundreds of thousands of software projects, if not (and probably) millions :slight_smile:

At the end of the day, one learn something new every day, all of us do!

I’m glad it worked out :slight_smile:

1 Like