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.
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.
Github project: https://github.com/cesar-rgon/linux-app-installer
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)
Develop Github web page
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
$ 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
$ wget https://github.com/cesar-rgon/linux-.../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.
$ 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.
$ 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.
Last edited by cesar-rgon (2014-05-24 00:54:21)
I have updated Linux app installer to v1.2.
Main feature of this release is adding support to Linux Mint 17 (cinnamon and mate, for the moment) and LMDE (cinnamon and mate).
Is this a program that can survive a reinstall and reinstall all my 'favourite' applications in one go? e.g. LM16 to LM17? Does it handle programs that are not in a repo such as Truecrypt?
Linux Mint 17 Xfce
Lenovo IdeaPad U410
Yes, you can reinstall applications with no problems, if you try to reinstall an application that has been installed before, it has no effect. But note that some applications have a configuration subscript. This means, after the application has been installed, it will be set it by a subscript placed in post-installation folder, so, if you reinstall it, the subscript will create a backup copy of your previous configuration files and then apply new configuration.
If you don't want any subscript to setup your applications after the installation proccess, simply remove files from post-installation folder. If the file no exists, the application will not be set.
The menu has not been tested on LM16 but should work fine in most applications. It has been tested on LM17 RC, so there should work all right.
About upgrading your distro from LM16 to LM17, i've avoid to add third-party repositories by default because some repositories cause problems when you upgrade your distro, so, there should not be problems at all. If you had a problem I would appreciate you tell me.
Truecrypt? Yes, of course. You can install every application you want by creating a subscript that hundles the installation proccess. The main menu will use your subscript to do the installation process, so you should be able to install any applications via third-party-repos, wget, dpkg, tar, whatever you want.
I invite you to look chapter 5 of my github project, it's the more interesting chapter, because you will understand the operation of the script. I have not posted in this thread because it would be very extensive.
An example is worth a thousand words:
To add Truecrypt to the menu follow next steps:
1. In linux-app-installer folder, edit ./etc/applicationList.linuxmint (it's just a link to applicationList.ubuntu) and add the application in a category:
<Category> <Application name> <Packages>
Notice that it's a non-repository application so left blank packages column.
2. The menu knows about the new application, but it needs a description, so:
Edit ./languages/en.properties (english language) and create a new description in APPLICATIONS section named:
TruecryptDescription=bla bla bla...
The file es.properties is just for spanish language.
3. The application needs a subscript that hundles the installation proccess (because it's not a repository application), so create "non-repo-apps/Truecrypt.sh" script that makes wget, dpkg, ... whatever command needed.
And that's all.
I can add this application to the menu by default but i've explained this proccess because you can use it for other applications if needed.
Sorry for my bad english.
Tell me your feedback.
Is your app like TheeMahn's (Ultimate Edition linux OS creator/maintainer) Ultamatix?
Mountain Dew Maniac
How to Ask for Help <=== Click on this link
To be honest, i didn't know that application. I had to search some youtube videos
Well, i can't do a good comparation because i don't know what exactly can do TheeMahn's Ultamatix.
What i can say is:
Linux-app-installer is not an application, it's just a set of scripts:
* one main script (the menu) wich allows to select the applications to install
* and other scripts wich allow to install a specific application with no need to lauch the menu.
TheeMahn's Ultamatix is more eye candy because it's an application, but, basically, both of them, do the same thing, install applications.
I think the most important feature of my script is that it's easy to use and customize.
Basic users can just install applications from the default list, but advanced ones, can extend functionallity by adding new applications to the list, adding more subscripts to setup applications, etc.
Of course, i'm going to add more applications to the default list in next version update and I have no problem with you suggest some applications to add.
I hope I have shed some light.