Skip to content

Latest commit

 

History

History
195 lines (148 loc) · 15.1 KB

README.md

File metadata and controls

195 lines (148 loc) · 15.1 KB

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


"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.

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.

I recommend "AM" to privileged users who want to install and manage apps at multiple levels, and "AppMan" to non-privileged users who do not have large needs.

What does it do?

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.

What is this repository?

This repository is just a guide to using "AppMan", and is specific to "AppMan".

Where is the source code?

The source code can be found at github.com/ivan-hc/AM

Where to report a problem?

For any Issue, go to https://github.com/ivan-hc/AM/issues

How to add code?

For any Pull Request, go to https://github.com/ivan-hc/AM/pulls

If "AM" and "AppMan" have the same code, why a separate repository?

"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.


How to install "AppMan"?

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

  • "coreutils" (contains "cat", "chmod", "chown"...);
  • "curl", to check URLs;
  • "grep", to check files;
  • "less", to read the ever-longer lists;
  • "sed", to edit/adapt installed files;
  • "wget" to download all programs and update "AM" itself.
Additionally, you may need these optional dependencies, click here.
  • "binutils", contains a series of basic commands, including "ar" which extracts .deb packages;
  • "unzip", to extract .zip packages;
  • "tar", to extract .tar packages;*
  • "torsocks", to connect to the TOR network;
  • "zsync", required by very few programs and AppImages (although it is mentioned in all installation scripts, it is often disabled because the managed .zsync files are often broken, especially for apps hosted on github.com).

Quick installation

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

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

Istantanea_2024-11-02_00-03-39 png

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

The above script will place the command appman in your local "$PATH", at ~/.local/bin (this path is the recommended one, since it allows AppMan to be updated in bulk with all other programs, using Topgrade.

Installation is complete!

Run appman -h or go to "https://github.com/ivan-hc/AM/blob/main/README.md#options" to see all the available options.


How to uninstall "AppMan"?

Since it is a portable script, you can simply remove it manually. If you used AM-INSTALLER, you simply need to remove the $HOME/.local/bin/appman script.

NOTE, it is recommended to remove apps first using the -R option, and then "AppMan", see also "How are apps installed", below.


Advantages of AppMan over "AM"

"AppMan" is a portable script, you can use it anywhere you want and it will update itself on the spot. "AM" on the other hand has a fixed installation, and requires root privileges to be installed.

Another advantage is the fact that it can be downloaded by anyone, even non-privileged users. On the contrary "AM" belongs only to the person who installed it, having permissions to access directories in /opt.

Disadvantages of AppMan over "AM"

"AppMan" can only install and manage local apps, while "AM" can manage both AppMan apps and install them locally or system-wide.

If you are a user who doesn't like using root privileges, just use "AppMan".

How apps are installed

Locally installed apps can have a directory of your choice, depending on what you decided when you first started the appman command.

For example, let's say you want to create and use the /home/USER/Applicazioni directory, here is the structure of a locally embedded AppImage:

~/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

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 (but it is recommended to install it in ~/.local/bin)
  • the directory "/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)

all processes will been executed in $HOME/.cache/appman, while application lists, keywords to use in bash/zsh completion and other files (for third party repos, betatesting, etcetera...) will be saved and updated in $HOME/.local/share/AM to be shared with "AM", if installed.


Guides and tutorials (external links)

The guides for "AM" are also applicable to AppMan, just replace the command am with the command appman.

By clicking the links below, you will be redirected to the pages of the "AM" repository, at github.com/ivan-hc/AM


Instructions for Linux Distro Maintainers

Troubleshooting


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"