apt-get functionality for .debs published in 3rd party repositories or via direct download. It works on Debian, Ubuntu and their derivative distributions.
Made with 💝 for &
deb-get
makes it easy to install and update .debs
published in 3rd party
apt repositories or made available via direct download on websites or GitHub
release pages.
Use deb-get
to install deb-get
.
sudo apt install curl
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 manualy with sudo apt-get install ./path/to/deb-get_<version>.deb
Here's an example of how to install Google Chrome.
deb-get install google-chrome-stable
You can see what applications are supported by using deb-get list
or you
can search the available applications with deb-get search <app>
.
You can upgrade packages installed using deb-get
by running
deb-get upgrade
.
deb-get {update | upgrade | show pkg | install pkg | reinstall pkg | remove pkg
| purge pkg | search pkg | cache | clean | list | prettylist | csvlist | 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
csvlist
csv formatted list the packages available via deb-get. Use this with 3rd party wrappers.
cache
list the contents of the deb-get cache (/var/cache/deb-get)
help
show this help
version
show deb-get version
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.
The software below can be installed, updated and removed using deb-get
.
deb-get install <packagename>
deb-get update
deb-get upgrade
deb-get remove <packagename>
deb-get purge <packagename>
Legend
The icons above denote how deb-get
installs/updates the packages.
If packages are available via a 3rd party apt
repository
or a Launchpad PPA
, then those packages
will be updated/upgraded when using apt-get update
and apt-get upgrade
.
For .deb
packages that are only available via GitHub Releases
or direct download
, then those packages
can only be updated/upgrade by using deb-get update
and deb-get upgrade
.
For information on what is acceptable as suggestion for new packages and instructions on how to open a PR to add a new package, head to CONTRIBUTING.
As a more advanced feature, it's now possible to also add your own local customizations or overrides. And supplement the supplied list of official packages. This feature is especially useful to that your local copy of the deb-get
tool can remain unmodified and always be kept fully up to date. By moving your customizations out in a seperate folder away from the main deb-get
script.
Typically either because:
- You are waiting on a pending request for a new software package. Which has been submitted for consideration. But which has not been reviewed / accepted / merged / released yet.
- Or because you need to add something which does not meet any of the general guidelines in the previous section ^^ detailed above, for whatever various reason(s).
How to use:
- Manually create the folder
/etc/deb-get.d/
if not exist already. By defaultdeb-get
does not create this folder unless your specific distribution has packaged it that way. - Can also create any arbitrary nested sub-folder structure within
/etc/deb-get.d/**/*
main folder - Any files within this tree will be bash sourced in alphabetical order e.g.
. /etc/deb-get.d/01-pending-merge/10-appname1
- Your user custom
deb_*
functions are then loaded directly after the lastdeb_*()
package declarations that officially come withdeb-get
- Recommendation message printed for any new user added deb_* functions. With a URL link to open a request.
- Warning messages are then also printed for any conflicts detected. For overriden functions (of same name), which then take priority over existing official deb-get apps.
For the last situation, this is most often meant as a helpful reminder to remove your custom declaration once it has been successfully merged upstream into the official deb-get
tool. So after deb-get
updates itself you are properly notified. And can avoid keeping lots of duplite functions around.
We really hope that you will enjoy the convenience and flexibility of the new user overrides feature. So please consider in return to open new issues or pull requests (here on github), for any new deb_*()
functions / packages you create! So that we can share those back with the wider community. Many thanks for your consideration!
- App Outlet: A Universal linux app store
- bin-get: Script to easily and safely fetch binaries from Github Releases/tags
- makedeb: A simplicity-focused packaging tool for Debian archives
- MakeResolveDeb: Install DaVinci Resolve or DaVinci Resolve Studio on Debian
- pacstall: The AUR alternative for Ubuntu
- Ubuntu Make: Easy setup of common tools for developers on Ubuntu.
- unsnap: Quickly migrate from using snap packages to flatpaks
- The deb-get tool helps Ubuntu (and derivative distro) fans grab extra apps - GamingOnLinux
- Deb-Get is ‘Apt-Get’ for 3rd-Party Ubuntu Software - omg! ubuntu!
- How To Install Third-Party Linux Applications with Deb-Get - toms HARDWARE
- How to use deb-get to install third-party software on Ubuntu - TechRepublic
- Ubuntu MATE’s Lead Creates a Nifty Tool to Help Install 3rd Party Deb Packages - It's FOSS
- Easily Get 3rd-Party Software on Ubuntu With Deb-Get - FOSS Post
- deb-get, an "apt-get" to install third-party software on Ubuntu - ubunlog
- deb-get, a utility for installing third-party software - Linux Addicted