"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
- For any Issue, go to https://github.com/ivan-hc/AM/issues
- For any Pull Request, go to https://github.com/ivan-hc/AM/pulls
"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.
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
Go to "github.com/ivan-hc/AM" for more
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)
- Install applications
- Install AppImages not listed in this database but available in other github repos
- List the installed applications
- List and query all the applications available on the database
- Update all
- Backup and restore installed apps using snapshots
- Remove one or more applications
- Convert Type2 AppImages requiring libfuse2 to Type3 AppImages
- Integrate local AppImages into the menu by dragging and dropping them
- How to use "AM" in non-privileged mode, like "AppMan"
- Sandbox an AppImage
- How to enable bash completion
- How to update or remove apps manually
- Downgrade an installed app to a previous version
- Create and test your own installation script
- Third-party databases for applications (NeoDB)
- An application does not work, is old and unsupported
- Cannot download or update an application
- Cannot mount and run AppImages
- Spyware, malware and dangerous software
- Stop AppImage prompt to create its own launcher, desktop integration and doubled launchers
- The script points to "releases" instead of downloading the latest stable
- Wrong download link
Even though the two CLI utilities share the same body, there are some substantial differences:
- "AM" is installed system-wide (in
/opt/am
), "AppMan" is portable and rootless; - "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;
- "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;
- "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" |
---|
"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.
- 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.
- 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.
-
FIREFOX PROFILES to run as webapps, the ones with suffix "ffwa-" in the apps list.
-
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" |
---|
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.
"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.
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:$HOME/.local/bin"' >> ~/.bashrc && wget https://raw.githubusercontent.com/ivan-hc/AM/main/APP-MANAGER -O ~/.local/bin/appman && chmod a+x ~/.local/bin/appman
"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
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" |
---|
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" |
---|
- aisap, sandboxing solutions for AppImages
- appimagetool/go-appimage, get rid of libfuse2 from your AppImages
- pkg2appimage, create AppImages on the fly from existing .deb packages
- repology, the encyclopedia of all software versions
- 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.
© 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" |
---|