apt.cli.rs icon indicating copy to clipboard operation
apt.cli.rs copied to clipboard

Repository sun-setting (shutdown)

Open emmatyping opened this issue 4 months ago • 6 comments

It is with a heavy heart that I write that I am going to be sun-setting (eventually shutting down) https://apt.cli.rs.

I originally set up this APT repository 4 years ago as a means of giving back to the community and to make it easier to install Rust CLI tools on my own home-lab.

More recently, I've had other priorities take up my time, and haven't really used the APT repository too much. Maintaining the repository has become a chore more than something I enjoy due to changes in my interests and priorities. I had thought about closing down the repository a few times over the past two months, but did not.

The straw that broke the camel's back was that recently (2025-08-03), the database associated with the APT repository became corrupted in an unrecoverable manner. Shame on me, it was also omitted from backups since it existed on a different disk. I could go and rebuild the APT repository database from scratch, but I have instead taken it as a sign to close down the repository.

In the interest of making people's lives easier, I will continue serving the repository as-is (see FAQ). I am so glad that a number of people found the repository useful, that was my hope when I initially set out to create it. I hope folks are able to find alternatives that work reasonably well.

Best, Emma

FAQ

What happens now?

The repository at https://apt.cli.rs will be frozen, no new packages will be uploaded. However, to make the migration easier and not break people right away, I'll be leaving the APT repository up for 3 months as-is. Once the APT repository is brought offline this GitHub repository will be archived.

How do I remove the repository?

You can run the following two commands:

sudo rm -f /usr/share/keyrings/rust-tools.asc
sudo rm -f /etc/apt/sources.list.d/rust-tools.list

To verify the repo has been removed you can run an update:

sudo apt-get update

You will also probably want to remove installed packages (see next FAQ entry)

How do I remove any installed pages?

The following one-liner should uninstall any packages that you could install for your architecture from apt.cli.rs:

sudo apt-get purge $(curl -sSL https://apt.cli.rs/dists/all/main/binary-$(dpkg --print-architecture)/Packages | grep 'Package:' | uniq | awk -F ': ' '{printf $2" "}')
Explanation

First, get the architecture of the machine via dpkg --print-architecture. Then, download the package list for that architecture. Finally, parse the package file into a list of package names to be passed to apt-get purge.

What happens to already installed packages?

Nothing. They should continue to be installed and function. However, they will not receive updates. I would recommend looking at installing these packages through alternative channels (see next FAQ)

What are the alternatives to apt.cli.rs?

There are a couple of options:

  • cargo binstall: https://github.com/cargo-bins/cargo-binstall. This downloads the binaries from releases and sets them up for you, but requires Rust to be installed already.

  • The manual route is to download the .deb files directly from the releases of a GitHub Release, e.g. https://github.com/bootandy/dust/releases. Then you can run dpkg -i ./<local-file>.deb to install the package.

  • cargo binstall: https://github.com/cargo-bins/cargo-binstall. This downloads binaries from releases and sets them up for you, but requires Rust to be installed already.

  • The manual route is to download the .deb files directly from the releases of a GitHub Release, e.g. https://github.com/bootandy/dust/releases. Then you can run dpkg -i ./<local-file>.deb to install the package.

What happens to the code/scripts backing apt.cli.rs?

In the interest of helping anyone who would like to run their own APT repository like apt.cli.rs, I will be adding the NGINX configurations and (redacted) systemd unit files used to generate the index. Please also see the existing script https://github.com/emmatyping/apt.cli.rs/blob/main/main.py, which is the main tool used to manage the repository.

emmatyping avatar Aug 18 '25 01:08 emmatyping

I've only been using this repository for a week, so this has gone from joy to sorrow real quick. Thank you for all the work put into this. I hope others pick up from here.

jace avatar Aug 18 '25 04:08 jace

~~There will be some downtime today but the repo will be restored later today.~~

Downtime is over.

emmatyping avatar Aug 23 '25 15:08 emmatyping

Just to let you know in case you weren't aware, the GPG key of the repository has expired. Since it's sun-setting, would it be fair to assume you're not planning on updating it?

Thanks anyway for what you provided to the community over the years.

Arzaroth avatar Sep 02 '25 15:09 Arzaroth

@Arzaroth thanks for letting me know. Yes, I believe I will probably not update the gpg key. Going through a rotation just doesn't make sense to me if it's just for a month or two.

emmatyping avatar Sep 02 '25 16:09 emmatyping

@Arzaroth thanks for letting me know. Yes, I believe I will probably not update the gpg key. Going through a rotation just doesn't make sense to me if it's just for a month or two.

It helps to find this issue and uninstall the repo. Thanks for your effort! This repo served me good and also I've learned about a bunch of awesome cli tools.

sanyer avatar Sep 22 '25 11:09 sanyer

Thank you for all your effort and contribution to the community!

p.s. alternatively, you can try topgrade, which allows updating from cargo, and more

mnovozhylov avatar Sep 25 '25 05:09 mnovozhylov