Skip to content
/ AppMan Public

AppImage package manager to install, update (for real) and manage ALL of them locally thanks to "AM", the ever-growing AUR-inspired database listing 2000+ portable apps and programs for GNU/Linux. Manage your AppImages with the ease of APT and the power of PacMan.

License

Notifications You must be signed in to change notification settings

ivan-hc/AppMan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

"AppMan", the rootless side of "AM" to manage all your apps locally


"AppMan" is a package manager for AppImages and other portable GNU/Linux applications.

Its behavior is reminiscent of APT, PacMan and DNF, also thanks to the options very similar to those of the most famous package managers of the most used GNU/Linux distributions.

All "AppMan" does is download the installation scripts from the "AM" database and then convert them for a local installation, in your $HOME directory, following the paths you indicated when you first launch this CLI.

New code is available at github.com/ivan-hc/AM

"AppMan" has been an active project since the second half of 2021, and was a completely standalone script, with an at times troubled history before allowing the birth of "AM".

But starting with version 5, released in December 2023, the "AppMan" code merged with "AM", becoming a single script, named "APP-MANAGER", with two different behaviors depending on how it is installed and/or renamed.

This repository is what remains of the transition.


AppMan Index

This is a partial index, dedicated only to "AppMan". To learn more about options and how-to guides (with videos), use the external links index or visit github.com/ivan-hc/AM.


Differences between "AM" and "AppMan"

What programs can be installed

Installation

Uninstall

Go to "github.com/ivan-hc/AM" for more

Related projects


External links index

All the guides listed here are available at github.com/ivan-hc/AM


How to update all programs, for real

Usage (all the available options)

Guides and tutorials

Troubleshooting


Differences between "AM" and "AppMan"

Even though the two CLI utilities share the same body, there are some substantial differences:

  1. "AM" is installed system-wide (in /opt/am), "AppMan" is portable and rootless;
  2. "AM" is owned by the user that have installed it, "AppMan" is for all users, since it works locally, everyone can have its own apps and configurations;
  3. "AppMan" can request the root password only if you need to installa library, "AM" requires the root password only to install, remove apps, enable a sandbox for an AppImage, or enable/disable bash completion;
  4. "AM" installs apps system wide, in /opt (see Linux Standard Base), using the following structure:
/opt/$PROGRAM/
/opt/$PROGRAM/$PROGRAM
/opt/$PROGRAM/AM-updater
/opt/$PROGRAM/remove
/opt/$PROGRAM/icons/$ICON-NAME
/usr/local/bin/$PROGRAM
/usr/local/share/applications/$PROGRAM-AM.desktop

NOTE, all installation scripts used before June 28, 2024 show launchers in /usr/share/applications with suffix "AM-" instead of the "AM.desktop" extension, like this:

/usr/share/applications/AM-$PROGRAM.desktop

From 8 July 2024 this configuration is no longer available. Reinstall the application to get the new configuration.

"AppMan" is more flexible, since it asks you where to install the apps in your $HOME directory. For example, suppose you want install everything in "Applicazioni" (the italian of "applications"), this is the structure of what an installation scripts installs with "AppMan" instead:

~/Applicazioni/$PROGRAM/
~/Applicazioni/$PROGRAM/$PROGRAM
~/Applicazioni/$PROGRAM/AM-updater
~/Applicazioni/$PROGRAM/remove
~/Applicazioni/$PROGRAM/icons/$ICON-NAME
~/.local/bin/$PROGRAM
~/.local/share/applications/$PROGRAM-AM.desktop

NOTE, all installation scripts used before June 28, 2024 show the launchers with suffix "AM-" instead of the "AM.desktop" extension, like this:

~/.local/share/applications/AM-$PROGRAM.desktop

From 8 July 2024 this configuration is no longer available. Reinstall the application to get the new configuration.

The configuration file for AppMan is in ~/.config/appman and contains the path you indicated at first startup. Changing its contents will result in changing the paths for each subsequent operation carried out with "AppMan", the apps and modules stored in the old path will not be manageable.

At first startup you can indicate any directory or subdirectory you want, as long as it is in your $HOME.


Install "AppMan" Back to "AppMan Index"

What programs can be installed

"AM"/"AppMan" installs, removes, updates and manages only standalone programs, ie those programs that can be run from a single directory in which they are contained. The database aims to be a reference point where you can download all the AppImage packages scattered around the web, otherwise unobtainable, as you would expect from any package manager, through specific installation scripts for each application, as happens with the AUR PKGBUILDs, on Arch Linux. You can see all of them here, divided by architecture.

NOTE that currently my work focuses on applications for x86_64 architecture, but it is possible to extend "AM" to all other available architectures. If you are interested, you can deliberately join this project to improve the available lists.

  1. PROGRAMS, they are taken:
  • from official sources (see Firefox, Thunderbird, Blender, NodeJS, Chromium Latest, Platform Tools...);
  • extracted from official .deb/tar/zip packages;
  • from the repositories and official sites of individual developers.
  1. APPIMAGES, they are taken:
  • from official sources (if the upstream developers provide them);
  • from AppImage recipes to be compiled on-the-fly with pkg2appimage and appimagetool;
  • from unofficial third-party developers, but only if an official release is not available.
  1. FIREFOX PROFILES to run as webapps, the ones with suffix "ffwa-" in the apps list.

  2. THIRD-PARTY LIBRARIES (see here) if they are not provided in your distribution's repositories. These are to be installed in truly exceptional cases.

You can consult basic information, links to sites and sources used through the related command am -a $PROGRAM or appman -a $PROGRAM, or visit portable-linux-apps.github.io/apps.


Back to "AppMan Index"

Installation

This section explains how to install "AppMan". Below are the essential dependencies:

  • "coreutils" (contains "cat", "chmod", "chown"...);
  • "curl", to check URLs;
  • "grep", to check files;
  • "sed", to edit/adapt installed files;
  • "wget" to download all programs and update "AM"/"AppMan" itself.

The following are optional dependencies that some programs may require:

  • "binutils", contains a series of basic commands, including "ar" which extracts .deb packages;
  • "unzip", to extract .zip packages;
  • "tar", to extract .tar* packages;
  • "zsync", about 10% of AppImages depend on this to be updated.

How to install "AppMan"

"AppMan" can be used in different places, being it portable.

However, to be easily used its recommended to place it in your local "$PATH", in ~/.local/bin.

For example, "AppMan" users must install appman in ~/.local/bin to allow updates via Topgrade.

Use "AppMan" in "$PATH"

To do so, you must first enable that "$PATH":

  • add export PATH=$PATH:$(xdg-user-dir USER)/.local/bin in the ~/.bashrc
  • create the directory ~/.local/bin if it is not available

To do all this quickly, simply copy/paste the following command:

mkdir -p ~/.local/bin && echo 'export PATH=$PATH:$(xdg-user-dir USER)/.local/bin' >> ~/.bashrc && wget https://raw.githubusercontent.com/ivan-hc/AM/main/APP-MANAGER -O appman && chmod a+x ./appman && mv ./appman ~/.local/bin/appman

Use "AppMan" in "Portable Mode"

"AppMan" can run in any directory you download it, copy/paste the following command to download "APP-MANAGER", rename it to appman and make it executable:

wget https://raw.githubusercontent.com/ivan-hc/AM/main/APP-MANAGER -O appman && chmod a+x ./appman

Structure of the "AppMan" installation

Unlike "AM" which needs to be placed in specific locations, "AppMan" is portable. The modules and directories will be placed in the directory you chose:

  • the script "appman" is wherever you want
  • the directory "$HOME/path/to/your/custom/directory/.cache" (where all processes will been executed)
  • the directory "$HOME/path/to/your/custom/directory/modules" (containing the .am modules for the non-core options)
  • the configuration file "$HOME/.config/appman/appman-config" (the only fixed directory)

Back to "AppMan Index"

Uninstall

To uninstall "AppMan" just remove it and the directory $HOME/.config/appman

Note, before you remove your CLI, use the option -R to remove the apps installed using the following syntax:

appman -R {PROGRAM1} {PROGRAM2} {PROGRAM3}...

to have a list of the installed programs use the option -f or files (syntax appman -f).


Back to "AppMan Index"

Related projects

External tools and forks used in this project

My other projects

  • AppImaGen, easily create AppImages from Ubuntu PPAs or Debian using pkg2appimage and appimagetool;
  • ArchImage, create AppImages for all distributions using Arch Linux packages. Powered by JuNest;
  • Firefox for Linux scripts, easily install the official releases of Firefox for Linux;
  • My AppImage packages the complete list of packages managed by me and available in this database;
  • Snap2AppImage, try to convert Snap packages to AppImages.

You can support me and my work on ko-fi.com and PayPal.me. Thank you!

© 2020-present Ivan Alessandro Sala aka 'Ivan-HC' - I'm here just for fun!


ko-fi.com PayPal.me Install "AppMan" Back to "AppMan Index" Go to "github.com/ivan-hc/AM"

About

AppImage package manager to install, update (for real) and manage ALL of them locally thanks to "AM", the ever-growing AUR-inspired database listing 2000+ portable apps and programs for GNU/Linux. Manage your AppImages with the ease of APT and the power of PacMan.

Topics

Resources

License

Stars

Watchers

Forks

Languages