Linux app installer (Linux Mint / LMDE / Ubuntu / Debian)

Forum rules
Before you post please read this

Linux app installer (Linux Mint / LMDE / Ubuntu / Debian)

Postby cesar-rgon on Fri May 23, 2014 9:33 pm

Menu to install applications from default repositories, third-party ones or external sources on any Ubuntu 14.04, Debian 7, Linux Mint 17 or LMDE system (desktop or server). There are a lot of applications included in the default list, but this list can be modified by the user by just editing a single text file. Furthermore, users can add subscripts to extend main menu functionality, for example, add new repositories, setup applications, etc. In addition, exist one separate script for each application as an alternative way to do the installation proccess without the main menu.

Image

Image

Valid for: Ubuntu v14.04, Debian 7, Linux Mint 17 and LMDE (for all desktops or server). With some changes in config files, it can be 100% compatible with previous versions.
Version: 1.2
Github project: https://github.com/cesar-rgon/linux-app-installer

DONE
  • Added compatibility with Ubuntu 14.04 (unity/gnome/kde/xfce/lxde/server)
  • Added compatibility with Debian 7
  • Added compatibility with Linux Mint 17 (cinnamon/mate)
  • Added compatibility with LMDE (cinnamon/mate)

TODO
  • Develop Github web page

1. Features
  • One main script that shows a menu of aplications wich can be selected for installation.
  • Alternatively, there is one separate script for each application, so it can be installed by just executing the appropriate script.
  • Install official repository applications.
  • Add third-party repositories and install related applications when needed.
  • Download, extract and install non-repository applications through custom subscripts that extend the main script functionality. It includes several subscripts by default.
  • Set up applications after they are installed through custom subscripts.
  • Customize your own application list to install and third party repositories to add by just editing some config files (no need to edit main script at all for this purpose).
  • EULA support. Install applications automatically with no need of user interaction to accept legal terms of the application.
  • The script runs with an interface adapted to the detected enviroment: Dialog for terminal. Zenity for desktop or terminal emulator.
  • Installation log file that shows installation steps and errors if they have occurred.
  • Multilingual support. Easy to add new translations. For the time being English and Spanish languages are included. The script detects system language and it use the appropiate translation.

2. Installing this project

2.1 Method 1. Clone this repository
Code: Select all
$ sudo apt-get install git
$ git clone -b master https://github.com/cesar-rgon/linux-app-installer.git
$ cd linux-app-installer


2.2 Method 2. Download and extract files
Code: Select all
$ wget https://github.com/cesar-rgon/linux-app-installer/archive/master.tar.gz
$ tar -xvf master.tar.gz
$ cd linux-app-installer-master


3. Executing a script

3.1 Main script
It shows a menu of applications to be installed which are ordered by categories. The user navigates through categories and selects the applications to be installed. After that, installation process begins.
Code: Select all
$ bash installer.sh


3.2 Application script
There is one separate script for each application, so it can be installed just by running the appropriate script.
Code: Select all
$ bash ./scripts/applicationName.sh


4. Execution's lifecycle
  • The user must select the applications to install.
  • The script would add third-party repositories of the selected third-party applications, when required.
  • The script executes custom subscripts to prepare the installation of some applications.
  • The script installs all the selected repository applications with EULA support if required.
  • The script executes custom subscripts to install the selected non-repository applications.
  • The script executes custom subscripts to setup selected applications.
  • The script runs final operations to finish installation process and to clean temporal files.
  • The script shows an installation log file which contains installation steps and errors if they have occurred.

Main script runs all the previous steps, whereas individual application scripts skip step 1 and run the remaining.

5. Extend functionality and customize applications to install
To extend script functionality is required to add subscripts for custom purposes. To customize applications to install, it's necessary to edit some config files. These actions will be detailed in next chapters.

For more information, visit Github project.
cesar-rgon
Level 1
Level 1
 
Posts: 2
Joined: Fri May 23, 2014 9:05 pm

Linux Mint is funded by ads and donations.
 

Re: Linux app installer (Linux Mint / LMDE / Ubuntu / Debian

Postby tadaensylvermane on Thu May 29, 2014 7:15 pm

I'll bite. How is this better than just using the software center?
tadaensylvermane
Level 2
Level 2
 
Posts: 71
Joined: Tue Jun 25, 2013 8:50 pm

Re: Linux app installer (Linux Mint / LMDE / Ubuntu / Debian

Postby cesar-rgon on Sat May 31, 2014 7:02 am

Hi tadaensylvermane
For just installing repository applications, software center and this menu do the same thing...install de application :)

The advantage is that the script not only install repository applications but also can add third-party repositories, setup applications and install non-repository ones (those things can not do it software center by itself), for example, the installation of jDownloader, jDownloader2_beta, Google_earth, Skype, Teamviewer_full, Teamviewer_quick_support, Grub_customizer... are included. The menu will download, extract and create links (if necessary) to be ready to use them.

About configuration, amule daemon, deluge daemon, qbittorrent daemon, transmission daemon are automatically setup to be ready to use. So, this way you save the configuration steps to get started using it.

More applications will be added soon, but, the script is not limited with the applications I put by default because is easy to add more and include your custom subscripts to setup them or add third-party repositories (if applicable).

I invite you to look chapter 5 of my Github project so you can get an idea of how it works.

Regards.
cesar-rgon
Level 1
Level 1
 
Posts: 2
Joined: Fri May 23, 2014 9:05 pm


Return to Scripts & Bash

Who is online

Users browsing this forum: No registered users and 2 guests