SkillAgentSearch skills...

AM

AppImage Package Manager: AppImage sandboxing, local and system installation, update all AppImages, an extensible database of AppImages and portable apps, lists for AppImages and other GNU/Linux binaries, integrate AppImages by drag/drop or install unlisted AppImages, conversion of old AppImage types... and more! Manage AppImages like never before!

Install / Use

/learn @ivan-hc/AM
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

"AM" Application Manager

Database & solutions for all AppImages and portable apps for GNU/Linux!

<div align="center">

| <img src="https://raw.githubusercontent.com/ivan-hc/AM/main/sample/sandbox.gif"> | <img src="https://raw.githubusercontent.com/ivan-hc/AM/main/sample/list.gif"> | <img src="https://raw.githubusercontent.com/ivan-hc/AM/main/sample/about.gif"> | | - | - | - | | sandbox AppImages | list available apps | info about the apps | | <img src="https://raw.githubusercontent.com/ivan-hc/AM/main/sample/install.gif"> | <img src="https://raw.githubusercontent.com/ivan-hc/AM/main/sample/query.gif"> | <img src="https://raw.githubusercontent.com/ivan-hc/AM/main/sample/files.gif"> | | install applications | query lists using keywords | show the installed apps | | <img src="https://raw.githubusercontent.com/ivan-hc/AM/main/sample/backup-overwrite.gif"> | <img src="https://raw.githubusercontent.com/ivan-hc/AM/main/sample/update.gif"> | <img src="https://raw.githubusercontent.com/ivan-hc/AM/main/sample/nolibfuse.gif"> | | create and restore snapshots | update everything | get rid of libfuse2 |

</div>

"AM"/"AppMan" is a set of scripts and modules for installing, updating, and managing AppImage packages and other portable formats, in the same way that APT manages DEBs packages, DNF the RPMs, and so on... using a large database of Shell scripts inspired by the Arch User Repository, each dedicated to an app or set of applications.

"AM"/"AppMan" aims to be the default package manager for all AppImage packages, giving them a home to stay.

You can consult the entire list of managed apps at portable-linux-apps.github.io/apps.


What does it do?

"AM" easily integrates portable programs and AppImages system-wide (by default) or locally (using the --user flag), allows for their updates and management from the command line, integrates them into the application menu and can even assemble them on the fly as an AUR helper.

"AM" is just a tool to provide applications easily and quickly and is only responsible for integrating the AppImages into the system and installing the various programs available, respecting the following order:

  1. creation of the base directories and the removal script
  2. download of the package
  3. creation of the version file and the update script
  4. possibly, extraction of the icons and .desktop files

What doesn't it do!

"AM" is NOT responsible for the malfunction of individual apps! This is a problem of those who develop or package them upstream.

You can use the command am -a {PROGRAM} to view the description and get the sources to contact the program maintainers, or am -d {PROGRAM} to download and read the script on your desktop to trace and reach the source safely.


Main index


Installation

Graphical User Interface (GUI)

Translate "AM" in your local language

How to update all programs, for real!

Options

Guides and tutorials

Instructions for Linux Distro Maintainers

Troubleshooting

Related projects


Installation

To install "AM" you must first install the "core" dependencies from your package manager:

  • "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" itself.
  • "sudo" or "doas", for installing and removing programs at the system level.
<details> <summary>Additionally, you may need these optional dependencies, click here.</summary>
  • "binutils", contains a series of basic commands, including "ar" which extracts .deb packages;
  • "less", to read the ever-longer lists;
  • "unzip", to extract .zip packages;
  • "tar", to extract .tar* packages;
  • "zsync", required by very few programs.
</details>

Using the "AM-installer" script to choose between local and system-wide installation

The "AM-INSTALLER" script allows you to choose "AppMan" instead of "AM", briefly explaining the differences between the two.

Copy/paste the following one line command to download and run the "AM-INSTALLER" script

wget -q https://raw.githubusercontent.com/ivan-hc/AM/main/AM-INSTALLER && chmod a+x ./AM-INSTALLER && ./AM-INSTALLER && rm ./AM-INSTALLER

...below, the screenshot of what will appear.

Istantanea_2024-11-02_00-03-39 png

Type "1" to install "AM", "2" to install "AppMan". Any other key will abort the installation.

Installation is complete!

Run am -h or jump to "Usage" to see all the available options.


Using "GIT" (only system-wide installation)

Copy/paste the following commands

git clone https://github.com/ivan-hc/AM.git
cd AM
chmod a+x INSTALL
sudo ./INSTALL

Using a one-line command (only system-wide installation)

Copy/paste the following one line command command

wget https://raw.githubusercontent.com/ivan-hc/AM/main/INSTALL && chmod a+x ./INSTALL && sudo ./INSTALL && rm ./INSTALL

This is definitely the quickest method of all!

NOTE, the reason why I gave priority to the "AM-INSTALLER" script in this guide is because "AM" can be used in different forms. In fact, not all users can afford to install "AM" with root privileges. That's why "AppMan" also exists.


What is AppMan?

AppMan is a portable version of "AM", limited to installing and managing apps only locally and without root privileges.

The command name changes, from am to appman, but the script is the same.

"AM" on the contrary, provides a "fixed" installation, but can install and manage apps both locally and at the system level.

  • "AM" is for privileged users who want to install and manage apps at multiple levels
  • "AppMan" is the way to go for non-privileged users or those who don't have great needs

If you want to know more about "AppMan", visit https://github.com/ivan-hc/AppMan

How to install AppMan manually

<details> <summary>Click here to expand</summary> As we've already seen, AppMan is portable, meaning you can use it anywhere, in any directory with read and write permissions.

The basic principle is very simple: the APP-MANAGER script must be renamed "appman".

Try it and believe it:

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

However, this approach is NOT RECOMMENDED for various reasons, the most common being convenience:

  • the AM-INSTALLER ensures the creation of an XDG_BIN_HOME or $HOME/.local/bin directory if it doesn't already exist, so you can use it in $PATH without having to write the entire path to the script.
  • by installing it in the local $PATH, the AM-INSTALLER also takes care of its use in ZSH, if that is used instead of BASH.

To install it into $PATH manually, run the following commands:

ZSHRC="${ZDOTDIR:-$HOME}/.zshrc"
BINDIR="${XDG_BIN_HOME:-$HOME/.local/bin}"
mkdir -p "$BINDIR"
if ! echo $PATH | grep "$BINDIR" >/dev/null 2>&1; then 
	if [ -e ~/.bashrc ] && ! grep 'PATH="$PATH:$BINDIR"' ~/.bashrc >/dev/null 2>&1; then
		printf '\n%s\n' 'BINDIR="${XDG_BIN_HOME:-$HOME/.local/bin}"' >> ~/.bashrc
		printf '\n%s\n' 'if ! echo $PATH | grep "$BINDIR" >/dev/null 2>&1; then' >> ~/.bashrc
		printf '	export PATH="$PATH:$BINDIR"\nfi\n' >> ~/.bashrc
	fi
	if [ -e "$ZSHRC" ] && ! grep 'PATH="$PATH:$BINDIR"' "$ZSHRC" >/dev/null 2>&1; then
		printf '\n%s\n' 'BINDIR="${XDG_BIN_HOME:-$HOME/.local/bin}"' >> "$ZSHRC"
		printf '\n%s\n' 'if ! echo $PATH | grep "$BINDIR" >/dev/null 2>&1; then' >> "$ZSHRC"
		printf '	export PATH="$PATH:$BINDIR"\nfi\n' >> "$ZSHRC"
	fi
fi
wget -q "https://raw.githubu
View on GitHub
GitHub Stars1.1k
CategoryData
Updated12m ago
Forks93

Languages

Shell

Security Score

100/100

Audited on Mar 29, 2026

No findings