Linux app installer (Ubuntu / Debian)

  • Thread starter Thread starter cesar-rgon
  • Start date Start date
C

cesar-rgon

Menu to install applications from default repositories, third-party ones or external sources on any Ubuntu 14.04 or Debian 7 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.

c722d8e8adbdf2044c3137f2d2a2aece.jpg

a4ce297404da6d312a2914e64e711ae0.jpg

Valid for: Ubuntu v14.04 and Debian 7 (for all desktops or server). With some changes in config files, it can be 100% compatible with previous versions.
Version: 1.11
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


TODO
  • Test compatibility with Linux Mint 17 (all desktops)
  • 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:
$ 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:
$ 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:
$ 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:
$ 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: https://github.com/cesar-rgon/linux-app-installer

Note: Sorry for no link references. :?

Continue reading...
 
Back
Top