Giter Site home page Giter Site logo

n0rbert / deb-get Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wimpysworld/deb-get

0.0 0.0 0.0 312 KB

apt-get functionality for .debs published in 3rd party repositories or via direct download (with 18.04 LTS support)

License: MIT License

Shell 100.00%

deb-get's Introduction

This fork allows one to use deb-get on still supported Ubuntu 18.04 LTS to install most of the software.


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

sudo wget https://raw.githubusercontent.com/N0rbert/deb-get/main/deb-get -O /usr/local/bin/deb-get
sudo chmod +x /usr/local/bin/deb-get

Usage

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 | 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)

help
        show this help

version
        show deb-get version

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.

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

1Password (1password) - The easiest way to store and use strong passwords.
AntiMicroX (antimicrox) - A graphical program used to map keyboard buttons and mouse controls to a gamepad.
AnyDesk (anydesk) - Access any device at any time. From anywhere. Always secure and fast.
Atom (atom) - A hackable text editor for the 21st Century.
Azure CLI (azure-cli) - Command-line interface used to create and manage Azure resources.
Azure Data Studio (azuredatastudio) - Data management tool for working with SQL Server, Azure SQL DB and SQL DW.
Etcher (balena-etcher-electron) - Flash OS images to SD cards & USB drives, safely and easily.
bat (bat) - A 'cat' clone with wings.
Battery Monitor (battery-monitor) - An X-platform utility tool developed on Python, notifies about charging, discharging, and critically low battery state of the battery on laptop.
BeerSmith (beersmith3) - Home Brewing Software.
BirdTray (birdtray) - system tray notifications for Thunderbird.
Bitwarden (bitwarden) - Open Source Password Manager.
Blockbench (blockbench) - A low-poly 3D model editor
Boot Repair (boot-repair) - Graphical tool to repair boot problems.
Brave (brave-browser) - Browse privately. Search privately. And ditch Big Tech.
Brisqi (brisqi) - An offline-first personal Kanban app.
Caprine (caprine) - Elegant Facebook Messenger desktop app.
Cawbird (cawbird) - Twitter client for the Linux desktop.
Chronograf (chronograf) - Open source monitoring and visualization UI for the TICK stack.
ClipGrab (clipgrab) - Download and convert videos from various online portals (e.g. YouTube).
Visual Studio Code (code) - Code editing. Redefined.
VSCodium (codium) - Community-driven, freely-licensed binary distribution of Microsoft's Code editor.
CopyQ (copyq) - An advanced clipboard manager with editing and scripting features.
DBeaver (dbeaver-ce) - Database GUI Client
DeaDBeeF Player (deadbeef) - The ultimate music player
Discord (discord) - A place that makes it easy to talk every day and hang out more often.
Docker Engine (docker-ce) - Open source containerization technology for building and containerizing your applications.
Docker Desktop (docker-desktop) - The fastest way to containerize applications.
Double Commander (doublecmd-gtk) - Free cross platform open source file manager with two panels side by side. It is inspired by Total Commander and features some new ideas.
draw.io (draw.io) - Diagramming and whiteboarding app that wraps the core draw.io editor.
Unofficial DreamSourceLab DSView package (dsview) - DreamSourceLab fork of PulseView. PulseView is a Qt-based LA/scope/MSO GUI for sigrok.
duf (duf) - Disk Usage/Free Utility - a better 'df' alternative.
DustRacing2D (dustracing2d) - Dust Racing 2D is a traditional top-down car racing game including a level editor.
Element (element-desktop) - Secure and independent communication, connected via Matrix.
Enpass (enpass) - Remember one master password and let Enpass take care of the rest.
Exodus (exodus) - Bitcoin & Crypto Wallet.
Expressvpn (expressvpn) - Popular VPN software
fd (fd) - A simple, fast and user-friendly alternative to 'find'.
Figma Linux (figma-linux) - Unofficial Electron-based Figma desktop app for Linux.
Firefox ESR (firefox-esr) - Firefox Extended Support Release.
Mozilla Firefox ESR (firefox-esr-mozilla-build) - Mozilla Firefox ESR, official Mozilla build, packaged for Ubuntu by the Ubuntuzilla project.
Mozilla Firefox (firefox-mozilla-build) - Mozilla Firefox, official Mozilla build, packaged for Ubuntu by the Ubuntuzilla project.
Flatpak (flatpak) - Linux application sandboxing and distribution framework.
Foliate (foliate) - A simple and modern eBook viewer for Linux desktops.
Franz (franz) - A messaging app for WhatsApp, Facebook Messenger, Slack, Telegram and many many more.
FreeCAD (freecad) - Extensible Open Source CAx program.
GameHub (gamehub) - Unified library for all your games.
GeForce NOW (geforcenow-electron) - Desktop client for Nvidia's GeForce NOW game streaming service.
GitHub CLI (gh) - GitHub CLI brings GitHub to your terminal. Free and open source.
git-delta (git-delta) - A syntax-highlighting pager for 'git', 'diff', and 'grep' output.
GitHub Desktop (github-desktop) - Simple collaboration from your desktop.
GitKraken (gitkraken) - Intuitive Git GUI & powerful Git CLI.
Gitter (gitter) - A chat and networking platform to manage and connect communities through messaging, content and discovery.
GLava (glava) - OpenGL audio spectrum visualizer.
Google Chat (google-chat-electron) - An unofficial desktop app for Google Chat.
Google Chrome (google-chrome-stable) - Fast, Secure Browser from Google.
Google Earth Pro (google-earth-pro-stable) - Explore worldwide satellite imagery and 3D buildings and terrain for hundreds of cities.
Grype (grype) - A vulnerability scanner for container images and filesystems.
Guayadeque Music Player (guayadeque) - Lightweight and easy-to-use music player that supports smart playlists and huge music collections.
Heroic Games Launcher (heroic) - An Open Source GOG and Epic games launcher.
Hyper (hyper) - A terminal built on web technologies.
IGdm Messenger (igdm) - Continue your Instagram direct messages from your phone to your desktop.
InfluxDB (influxdb) - Scalable datastore for metrics, events, and real-time analytics.
InfluxDB2 (influxdb2) - Scalable datastore for metrics, events, and real-time analytics.
InfluxDB2 CLI (influxdb2-cli) - CLI for managing resources in InfluxDB v2
Insomnia (insomnia) - The API Design Platform and API Client.
Insync (insync) - Manage your Google Drive, OneDrive, and Dropbox files straight from your Desktop.
IRCCloud Desktop (irccloud-desktop) - IRCCloud desktop application.
JabRef (jabref) - The efficient way to collect, organize & discover.
Jami (jami) - Share, freely and privately.
Jellyfin (jellyfin) - The Free Software Media System.
Julia (julia) - High-performance programming language for technical computing.
Kapacitor (kapacitor) - Open source framework for processing, monitoring, and alerting on time series data.
KeePassXC (keepassxc) - Cross-Platform Password Manager.
Keybase (keybase) - End-to-end encryption for things that matter. Secure messaging and file-sharing.
Kodi (kodi) - Open Source Home Theatre, formerly known as XBMC.
ksnip (ksnip) - Cross-platform screenshot and annotation tool.
LibreOffice (libreoffice) - LibreOffice Fresh.
LibreWolf (librewolf) - A fork of Firefox, focused on privacy, security and freedom.
LSDeluxe (lsd) - The next gen 'ls' command.
Ludo (ludo) - A minimalist frontend for emulators.
Lutris (lutris) - Open Gaming Platform.
Mailspring (mailspring) - Boost your productivity and send better email with the best mail client.
Mattermost Desktop (mattermost-desktop) - Open Source platform for developer collaboration.
micro (micro) - A modern and intuitive terminal-based text editor.
Microsoft Edge (microsoft-edge-stable) - Fast and secure browser that helps you protect your data and save time and money.
Minigalaxy (minigalaxy) - A simple GOG client for Linux.
mpdevil (mpdevil) - A simple music browser for MPD.
Office 365 (ms-office-electron) - A Microsoft Office Online Desktop Client made with Electron.
My Weather Indicator (my-weather-indicator) - Get weather information for your town with My-Weather-Indicator.
Nextcloud Desktop (nextcloud-desktop) - The self-hosted productivity platform that keeps you in control.
NordVPN (nordvpn) - VPN service for speed and security.
Nsp (nsp) - Nsp is a GPL Scientific Software Package.
OBS-cli (obs-cli) - OBS-cli is a command-line remote control for OBS.
OBS Studio (Fully Loaded) (obs-studio) - Free and open source software for video recording and live streaming.
Obsidian (obsidian) - A powerful knowledge base on top of a local folder of plain text Markdown files.
ocenaudio (ocenaudio) - Easy, fast and powerful audio editor.
ONLYOFFICE Desktop Editors (onlyoffice-desktopeditors) - Free desktop office suite for document editing and collaboration.
OpenRazer (openrazer-meta) - Open source driver and user-space daemon that allows you to manage Razer peripherals.
Opera (opera-stable) - Faster, safer and smarter than default browsers.
P3X OneNote (p3x-onenote) - A Linux compatible version of OneNote.
Pandoc (pandoc) - A universal document converter.
Parsec (parsec) - Simple, low-latency game streaming.
PDF Arranger (pdfarranger) - Merge, split and re-arrange pages from PDF documents.
PeaZip (peazip) - PeaZip is a free file archiver utility and extractor.
Picocrypt (picocrypt) - A very small, very simple, yet very secure encryption tool.
Plex (plexmediaserver) - Stream Movies and TV Shows.
Polychromatic (polychromatic) - Frontend for OpenRazer that enables Razer devices to control lighting effects and more.
PowerShell (powershell) - Cross-platform automation and configuration tool/framework and optimized for dealing with structured data.
ProtonVPN (protonvpn) - High-speed Swiss VPN that safeguards your privacy.
Quickemu (quickemu) - Quickly create and run optimised Windows, macOS and Linux desktop virtual machines.
Quickgui (quickgui) - A Flutter frontend for Quickemu.
Rambox (rambox) - Workspace simplifier.
Rclone (rclone) - Syncs your files to cloud storage.
Resilio Sync (resilio-sync) - Fast, reliable, and simple file sync and share solution, powered by P2P technology
Rocketchat Desktop (rocketchat) - Official Desktop Client for Rocket.Chat.
Raspberry Pi Imager (rpi-imager) - Raspberry Pi Imaging Utility.
RStudio (rstudio) - Professional software for data science teams.
Blockbench (rustdesk) - Open source virtual / remote desktop infrastructure for everyone!
Mozilla Seamonkey (seamonkey-mozilla-build) - Mozilla Seamonkey, official Mozilla build, packaged for Ubuntu by the Ubuntuzilla project.
Sejda PDF Desktop (sejda-desktop) - Easy, pleasant and productive PDF editor.
shutter-encoder (shutter-encoder) - Professional video, audio and image coversion and encoding tool.
Signal (signal-desktop) - Private Messenger.
Simplenote (simplenote) - The simplest way to keep notes.
Skype (skypeforlinux) - Stay connected with free video calls worldwide.
Slack (slack-desktop) - One platform for your team and your work.
SoftMaker Office 2021 (softmaker-office-2021) - Create impressive documents with ease.
Spotify (spotify-client) - Millions of songs and podcasts.
Strawberry Music Player (strawberry) - Music player and music collection organizer aimed at music collectors and audiophiles.
Sublime Merge (sublime-merge) - Git Client, done Sublime.
Sublime Text (sublime-text) - Text Editing, Done Right.
Surfshark VPN (surfshark) - Award-winning VPN service.
Syft (syft) - CLI tool and library for generating a Software Bill of Materials from container images and filesystems.
Syncthing (syncthing) - Continuous file synchronization program.
System Monitoring Center (system-monitoring-center) - Multi-featured system monitor.
Tailscale (tailscale) - Zero config VPN. Works on any device, manages firewall rules for you, and works from anywhere.
Microsoft Teams (teams) - Team chat and collaboration.
TeamViewer (teamviewer) - The Remote Desktop Software.
Telegraf (telegraf) - The plugin-driven server agent for collecting & reporting metrics.
Telegram (telegram) - Telegram Desktop for Linux. Both 32 and 64 bit.
Terraform (terraform) - Automate Infrastructure on Any Cloud.
Mozilla Thunderbird (thunderbird-mozilla-build) - Mozilla Thunderbird, official Mozilla build, packaged for Ubuntu by the Ubuntuzilla project.
Tidal-hifi (tidal-hifi) - Web version of listen.tidal.com running in Wlectron with hifi support thanks to widevine.
Tixati (tixati) - A New and Powerful P2P System.
TLPUI (tlpui) - A GTK-UI to change TLP configuration files easily.
Trivy (trivy) - A simple and comprehensive vulnerability/misconfiguration/secret scanner for containers and other artifacts.
Ubuntu-Make (ubuntu-make) - Easy setup of common tools for developers on Ubuntu.
Ulauncher (ulauncher) - Application launcher for Linux.
VirtualBox (virtualbox) - General-purpose full virtualizer for x86 hardware, targeted at server, desktop and embedded use.
Vivaldi (vivaldi-stable) - The most feature-packaged, customisable browser.
VLC BitTorrent (vlc-plugin-bittorrent) - Bittorrent plugin for VLC.
VueScan (vuescan) - Scanner Software that supports over 6500 scanners.
Wavebox (wavebox) - Rethink the Web. Productivity Browser.
Webex (webex) - Video Conferencing, Cloud Calling and Screen Sharing.
WeeChat (weechat) - The extensible chat client.
Whalebird (whalebird) - A Mastodon, Pleroma, and Misskey client for desktop application.
WhatsApp for Linux (whatsapp-for-linux) - An unofficial WhatsApp desktop application for Linux.
Wire (wire-desktop) - Secure collaboration platform.
Y PPA Manager (y-ppa-manager) - Easily manage PPAs: add, remove, purge and search in all Launchpad PPAs using a graphical interface.
Yandex.Disk (yandex-disk) - Yandex.Disk keeps your files with you at all times.
Yandex.Disk Tools (yd-tools) - Yandex.Disk indicator for Ubuntu desktop panel.
Zenith (zenith) - Sort of like 'top' or 'htop' but with zoom-able charts.
Zettlr (zettlr) - A Markdown Editor for the 21st century.
Zoom (zoom) - Video Conferencing, Cloud Phone, Webinars, Chat, Virtual Events.
Zotero (zotero) - A free, easy-to-use tool to help you collect, organize, cite, and share research.

Legend

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

  • apt repository
  • GitHub releases
  • Launchpad PPA
  • Website

How do package updates work?

3rd party apt repositories and PPAs

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.

GitHub Releases and direct downloads

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.

Adding Software

Create a function in deb-get that is named deb_the-package-name where "the-package-name" is the Package: name shown using apt show. The deb_ prefix is required so deb-get can dynamically build the list of available software.

Take a look at the existing deb_ functions as reference for adding new packages to deb-get.

What is acceptable?

This defines what software that can be added to deb-get and therefore the scope of the project in terms if what it is intended for.

  • Software has to be published as a .deb. Build from source, tarballs or other binaries releases will not be accepted.
  • Software has to be published authoritatively by the upstream vendor, project or maintainer. Packages published by unassociated community contributors will not be accepted.
  • Software must be actively maintained.
  • Only stable/production releases. Daily/nightly, betas or pre-release versions will not be accepted.
  • GitHub Releases and direct downloads must have a reliable means to dynamically determine the current upstream published version. Hardcoded versions will be not accepted.
  • Packages from the official Debian or Ubuntu apt archives will not be accepted.

Related projects

  • App Outlet: A Universal linux app store
  • 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
  • makedeb: A simplicity-focused packaging tool for Debian archives

In the media

deb-get's People

Contributors

andia89 avatar arif-ali avatar charles-hood avatar cooperspencer avatar davidgoodwin avatar dchubar-fj avatar dhitchcock avatar dominichayesferen avatar flexiondotorg avatar fuseteam avatar hsbasu avatar ksmolder avatar lyzardking avatar marosg42 avatar matifali avatar n0rbert avatar nshalman avatar philclifford avatar tachi107 avatar thelastzombie avatar torusjkl avatar ymauray avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.