Code Monkey home page Code Monkey logo

linux-app-packager's Introduction

Linux-App-Packager readme

Create self-extractible, offline installable packages for Linux, from original tarball files. The self-extractible script is made by makeself.sh.

Why ? Sometimes, some Linux production servers are disconnected from the Internet and/or some specific packages (by version or type) are not installable directly.

In other cases, we may need to install a version on top of that provided by the default repositories, while keeping a clean dependency tree (example: some apps need ffmpeg during their installation, package manager installs it automatically, but this version is very old and lacks some codecs).

Finally, for licensing reasons, it is sometimes difficult (when you do things right) to include compiled versions of some applications for redistribution: being able to make your own installer is easily bypass this kind of limitation.

Actually, it support:

Packages are only make for recent Linux disto, Debian/RHEL (and on Windows/WSL) type.

For package a SpringBoot project, you can use SpringBoot Linux Packager.

Needs

For packaging: xz, bash, tar, gzip, curl

For extracting only: bash, tar, gzip, md5sum.

For installation (after extracting):

  • sudo/root rights
  • update-alternatives (for Java/OpenJDK)

Usage

Put in redistributables directory:

  • OpenJDKx-jdk_x_linux_x_x.x.x_x.tar.gz
  • ffmpeg-release-x-static.tar.xz
  • liquibase-3.x.x.tar.gz
  • Liquibase JDBC drivers (actually only mysql-connector-java-x.x.x.tar.gz is supported)

No one is mandatory.

Get MySQL JDBC redistributables

mysql-connector-java can be get from official MySQL site, choose "Platform Independent (Architecture Independent), Compressed TAR Archive"

Get OpenJDK redistributables

It can be get from Adoptium site and select:

  • a Version
  • a JVM type
  • Operating System: Linux
  • Architecture: x64

And download JDK tar.gz file.

Run scripts

./package-all.bash on Linux/Windows WSL.

And you will get new setup packages on packages directory.

Run setups

By default, as root:

./apackage-run.sh

Usage for a simple autoextract test/check (no needs to be root):

./apackage-run.sh --keep --target "extracted" -- -norun

Usage for deploy to another root directory:

./apackage-run.sh -- -chroot "/opt"

Security reminder

Remember that manually installing applications no longer allows automatic and transparent updates. You must keep yourself informed of the security updates of the applications that you deploy manually.

Roadmap dev

Free feel to add corrections and/or new features (it's really not rocket science).

Actually, there are no "uninstall script" provided. This is something that could be done if needed (not to mention that it's impossible to do a clean and safe de-installation with this basic installation method).

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.