/deb-get

apt-get functionality for .debs published in 3rd party repositories or via direct download

Primary LanguageShellMIT LicenseMIT

deb-get
deb-get

apt-get functionality for .debs published in 3rd party repositories or via direct download. It works on Ubuntu and derivative distributions.
Made with 💝 for

Introduction

deb-get makes is easy to install and update .debs published in 3rd party apt repositories or made available via direct download on websites or GitHub release pages.

Install

Use deb-get to install deb-get

curl -sL https://raw.githubusercontent.com/wimpysworld/deb-get/main/deb-get | sudo -E bash -s install deb-get

Alternatively, you can download the .deb of deb-get from the releases page and install it manually.

Usage

Here's an example of how to install Google Chrome.

sudo deb-get install google-chrome-stable

You can see what applications are supported by using sudo deb-get list or you can search the available applications with sudo deb-get search <app>

You can upgrade packages installed using deb-get by running sudo deb-get upgrade.

deb-get {update | upgrade | show pkg | install pkg | reinstall pkg | remove pkg
| purge pkg | search pkg | cache | clean | list | prettylist | help | version}

deb-get provides a high-level commandline interface for the package management
system to easily install and update packages published in 3rd party apt
repositories or via direct download.

update
        update is used to resynchronize the package index files from their sources.

upgrade
        upgrade is used to install the newest versions of all packages currently installed on the system.

install
        install is followed by one package desired for installation or upgrading.

reinstall
        reinstall is followed by one package desired for reinstallation.

remove
        remove is identical to install except that packages are removed instead of installed.

purge
        purge is identical to remove except that packages are removed and purged (any configuration files are deleted too).

clean
        clean clears out the local repository (/var/cache/deb-get) of retrieved package files.

search
        search for the given regex(7) term(s) from the list of available packages supported by deb-get and display matches.

show
        show information about the given package including its install source and update mechanism.

list
        list the packages available via deb-get.

prettylist
        markdown formatted list the packages available via deb-get. Use this to update README.md

cache
        list the contents of the deb-get cache (/var/cache/deb-get)

Why?

3rd party apt repositories exist. They are not going away.

Some application vendors and projects express their support for Debian/Ubuntu by publishing .debs of their software as direct downloads or via their own apt repositories. deb-get makes it easy to find, install and update .debs published in this way.

  • Perhaps you want to use software that is not (yet) officially packaged for Debian/Ubuntu.
  • Perhaps you want to use software that is fast moving and newer versions are available from the vendor/project.
  • Perhaps you want to use some non-free software that Debian/Ubuntu cannot distribute due to licensing restrictions.

deb-get tries to remedy this by providing a curated index of software available for Ubuntu that is published by the project or vendor. deb-get is inspired by Software Boutique, a graphical application I co-authored that does much the same thing and has been included in Ubuntu MATE since 2015.

Supported Software

The software below can be installed, updated and removed using deb-get.

  • sudo deb-get install <packagename>
  • sudo deb-get update
  • sudo deb-get upgrade
  • sudo deb-get remove <packagename>
  • sudo deb-get purge <packagename>

1Password (1password)
AntiMicroX (antimicrox)
Atom (atom)
Etcher (balena-etcher-electron)
bat (bat)
BeerSmith (beersmith3)
Bitwarden (bitwarden)
Brave (brave-browser)
Visual Studio Code (code)
VSCodium (codium)
deb-get (deb-get)
Discord (discord)
Docker Engine (docker-ce)
Docker Desktop (docker-desktop)
Dropbox (dropbox)
duf (duf)
Element (element-desktop)
Enpass (enpass)
Exodus (exodus)
fd (fd)
Figma Linux (figma-linux)
Firefox ESR (firefox-esr)
Franz (franz)
git-delta (git-delta)
GitHub Desktop (github-desktop)
GitKraken (gitkraken)
Gitter (gitter)
Google Chrome (google-chrome-stable)
Google Earth Pro (google-earth-pro-stable)
Grype (grype)
Heroic Games Launcher (heroic)
Insomnia (insomnia)
Insync (insync)
IRCCloud Desktop (irccloud-desktop)
JabRef (jabref)
Jami (jami)
Jellyfin (jellyfin)
Keybase (keybase)
KeyPassXC (keypassxc)
LSDeluxe (lsd)
Ludo (ludo)
Lutris (lutris)
Mailspring (mailspring)
Mattermost Desktop (mattermost-desktop)
micro (micro)
Microsoft Edge (microsoft-edge-stable)
Nextcloud Desktop (nextcloud-desktop)
Obsidian (obsidian)
ocenaudio (ocenaudio)
ONLYOFFICE Desktop Editors (onlyoffice-desktopeditors)
Opera (opera-stable)
Pandoc (pandoc)
Plex (plexmediaserver)
PowerShell (powershell)
Quickemu (quickemu)
Quickgui (quickgui)
Rambox (rambox)
Rclone (rclone)
Raspberry Pi Imager (rpi-imager)
RStudio (rstudio)
Signal (signal-desktop)
Simplenote (simplenote)
Skype (skypeforlinux)
Slack (slack-desktop)
Spotify (spotify-client)
Sublime Merge (sublime-merge)
Sublime Text (sublime-text)
Syft (syft)
Syncthing (syncthing)
Microsoft Teams (teams)
TeamViewer (teamviewer)
Tixati (tixati)
Trivy (trivy)
Ubuntu-Make (ubuntu-make)
Vivaldi (vivaldi-stable)
Wavebox (wavebox)
Webex (webex)
WeeChat (weechat)
Wire (wire-desktop)
Zenith (zenith)
Zoom (zoom)

Legend

The icons above denote how deb-get installs/updates the packages.

  • apt repository
  • GitHub releases
  • Launchpad PPA
  • Website