From Mageia wiki
Revision as of 23:09, 29 May 2021 by Morgano (talk | contribs) (Flatpak: +Where, +Launching)
Jump to: navigation, search


Drakconf multiflag.png
Other languages
Deutsch ; English ; Español ; Français ;
Synopsis:
Mageia provides a lot of software readily packaged. However, we can not have everything, and not always the latest. It may even be that you want some older version, or more than one version installed at the same time. Here are some methods that can be used.

Really not in Mageia ?

First, check if what you are looking for really is not packaged. It can be under another name that you search for, also remember the name of packages is most often all lower-case. Or you can use another program, i.e. depending on what desktop environment you install, you have different readers for pdf installed per default, for example, Okular for Plasma.

In Mageia backport repository you may find programs from next version of Mageia, or upgrades needing special attention. See urpmi.addmedia.

You may repackage a program from another Mageia release yourself, see rpm packages from other Mageia release below.

If you do not find a program you need, please ask in our forum.

The proprietary drivers

The proprietary drivers i.e for graphics and wifi are shipped in the non-free media. I.e. for Nvidia enable the nonfree and nonfree_update repos, and in MCC when you configure your Nvidia video card you will be asked if you want to use nouveau or the Nvidia driver.

Patent encumbered software

A lot of audio and video codecs that are restricted from free use in smaller or larger part of the world, and programs with such built in, are in the tainted repos.

Optimally you should check if you can legally use some particular package from there, depending on usage and in which part of the world you are, before installing it.

If you want to update everything installed to the versions from the tainted repos: enable both tainted and tainted_updates, on 64-bit systems also the 32-bit versions, and as root issue urpmi --auto-select

Normal package handling in Mageia

If you do not know the default package management in Mageia, please first see:

Install media in Mageia for beginners

Install and remove software for beginners

Installing and removing software

Software management

About using the command line see URPMI.

More on package management in Mageia

News from Release notes.

You may use DNF as package manager: see above link and Using DNF. It will use the same rpm database as urpmi in the background, BUT: they use different methods to track orphans = if you use both you should never use either's functionality to remove orphans, see Removing packages.

Mageia may Switch to DNF in future.

32 bit repos on 64 bit systems

Please note that on 64-bit systems, the 32-bit repositories are configured, but they are not enabled by default.

They are needed by some packages, such as Steam and Wine. If you want to install such packages that have dependencies on packages from 32-bit repositories, please make sure that you have "Core 32bit Release" and "Core 32bit Updates" enabled. Likewise for some cases the 32 bit Nonfree or Tainted (both in Release and Updates flavours) may be needed.

Important rules:

  • Don't enable a 32-bit repository without having the corresponding 64 bit repository enabled because 64-bits libs are preferred (generally) on 64-bit system.
  • If once a 32-bit repository is used, keep both its Release and Updates flavour enabled to not potentially hinder updates.

Warnings on non-Mageia packages

Warning!
Compatibility. When using external sources, please tell what external sources you have installed anything from whenever you report any problem on Mageia forum, mail list, bug report or other channels. Things can otherwise get confusing and unnecessary time consuming for all. Especially confusing it may be when the packages are named like Mageia packages, i.e containing ".mga7" as part of package name.

Also note that upgrading Mageia to next version may become problematic.

Also see Dependencies below.

Warning!
Security. Mageia naturally do not take any responsibility for any external package, be it RPM, Appimage, Flatpak, binary files... You are on your own to decide if you trust the software supplier regarding any security issue, malware etc. This may especially be an issue with closed source code applications. See mitigation tip in Security below.

External repos with Mageia packages

You may find a program you need packaged for Mageia, in a repository by the program creator or an enthusiast or organisation have packaged it and share.

Examples:

Fedora COPR

Fedora COPR is a service provided by Fedora, used by many.

Examples:

Other repositories

Examples:

  • Opera web browser Mageia compatible RPM in repository at Fedora: Instructions using DNF package manager.

Universal package formats

There exist several ways to package software to make it easily installable on a lot of Linux distributions.

Appimage

https://en.wikipedia.org/wiki/AppImage , https://appimage.org/ Programs can be found at the program authors sites, this list, or at the AppImage developer.

Appimages are kind of self-contained archives that can be downloaded and run directly without installation or the need for root rights; Just download one file, make it executable: chmod a+x FreeCAD*.AppImage, and run it: ./FreeCAD* . Given command examples are for when you open a console in the folder where you have downloaded the Appimage, i.e press F4 in Dolphin for the terminal.

Examples: We have FreeCAD (a very capable mechanical CAD in heavy development) and Slic3r (3D printer CAM), but you may be interested in having the development versions to get extra features. You may still have the Mageia packaged version installed, or more than one version in appimage format. https://forums.mageia.org/en/viewtopic.php?f=7&t=12200

Flatpak

Flatpak is an utility for software deployment and package management for Linux. It is advertised as offering a sandbox environment in which users can run application software in isolation from the rest of the system. Flatpak was developed as part of the freedesktop.org project (formerly known as X Desktop Group or XDG) and was originally called xdg-app.

In Mageia, we support this technology by having flatpak and it's dependencies packaged. We give you the choice to use it or not. By default, it is not installed nor configured. You, at your own decision, can install it using Mageia Control Center, or in console as root: Template:User to root Or if you are using DNF: Template:User to root

You must add a flatpakrepo - a repository of flatpak apps, by adding one (or both why not) from this list:

  • flatpak repository from Fedora (fedora.org) which contains free-only/open-source softwares:
Konsole.png
[user@computer ~]$ flatpak remote-add --if-not-exists fedora oci+https://registry.fedoraproject.org
  • flatpak repository from Flathub (flathub.org) which contains free and nonfree softwares:
Konsole.png
[user@computer ~]$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo


Some help is built in. Try:

Konsole.png
[user@computer ~]$ flatpak --help

And for example:

Konsole.png
[user@computer ~]$ flatpak update --help


Where: System wide or user only

Flatpak ask for each application if you want to install it system wide (for all users) or only for your user. One aspect of that is where you have enough space, if the application is big. User installs get stored in ~/.local/share/flatpak/, and system wide apps and base content are stored in /var/lib/flatpak/.

Launching Flatpak applications

Easiest: You can copy the supplied .desktop file to your desktop or launch menu: For user installed apps you find them in ~/.local/share/flatpak/exports/share/applications/ and for system wide installed apps see /var/lib/flatpak/exports/share/applications/.

Alternatively you can use your desktop environments usual method to create a launch icon or menu item, and enter the launch command line per below. For the icon, some desktop environments dialogues find it, i.e in Plasma's tool you click the icon to open icon chooser dialogue, "System icons" and "Applications" are selected by default and when you type in the search field the icon is found. Else, for user installed programs go down under ~/.local/share/flatpak/exports/share/icons/ etc and for system installation /var/lib/flatpak/exports/share/icons/ etc.

To figure out the launch command line, use the flatpak list command to see installed programs Application ID:

Konsole.png
[user@computer ~]$ flatpak list
Name           Application ID                Version              Branch Origin        Installation
Czkawka        com.github.qarmin.czkawka     3.1.0                stable flathub       user
Spotify        com.spotify.Client            1.1.55.498.gf9a83c60 stable flathub       user 

The command to execute is "flatpak run" plus the App ID. Example for Spotify: flatpak run com.spotify.Client

Graphical tools

Starting with Mageia 8, we recommend to use plasma-discover (Discover)) under Plasma/LXQt or gnome-software (GNOME Software) under a GTK-desktop environment.

Start the chosen tool, and type for example Spotify or Digikam in the search field. Note that it will ask for your password to install one, this is guarded by Parental-Controls (malcontent).

Note that in Plasma Discover, flathub repository can be set in menu Settings -> Add flathub.

Pros and cons

One of the best things about using flatpak, is it will give you the possibility to execute latest version of popular graphical programs like Firefox, Evolution,... and they use a shared framework that is being updated upstream. This is also a way to have one program version installed by a Mageia package, and another version as a flatpak.

One of the down-side of using flatpak, the first time you install one of them, it will download a lot of dependencies and use quite a lot of space. Example: after installing only KiCAD (which is rather big) as flatpak system wide, /var/lib/flatpak/ was 4GB.

Warning!
Discover and GNOME-Software prefer Flatpak over Mageia RPMs! mga#28354.

Further reading

https://en.wikipedia.org/wiki/Flatpak , https://flatpak.org/ , https://fedoramagazine.org/getting-started-flatpak/

Java jar files

Generally the most versatile also works on Microsoft and Apple systems. Some may need many dependencies, while some have everything included. Example: FriBok (Swedish invoice and accounting)

In general, just start a java program with java -jar thejarfile.jar

Nice to know: the .jar file is an archive that can be opened in i.e Ark, so you can i.e edit internal configuration files (i.e. I personalized my invoice formatting).

Using foreign rpm directly

With the normal caveat that it may not find its dependencies, there is also the (small) risk that the rpm may perform some pre/post-install scripts that do something you do not want.

Sometimes you just have to though. Here is an example installing a Canon printer driver using the vendor rpm but without using their install script.

Repackaging rpm

rpm packages from other Mageia release

In Mageia development release "Cauldron", there may exist a newer version you need of a program. You can then often download that rpm and rebuild it to suit the Mageia release you run, see How to do your own backports.

Foreign .rpm packages

An rpm from another distro can often be rebuilt for Mageia. Please refer to Packagers RPM tutorial. A good source for the best suitable package candidates is Fedora.

Also see our forum thread How to rebuild an src.rpm, using amoebax as example

.deb packages

Programs packaged for Debian/Ubuntu/... in .deb format can often be converted using the program alien, which you can install from Mageia repo.

Example: How to repackage and install Spotify

Binary files

Some have an installer script. It may be a good idea to look into the script to see what it does - you may want it in some other way, or not need to run it.

Some programs are just a binary file you set executable permission on, and run. Other may come as a .sh script with embedded/compressed binary at the end, that it unpacks when you run it. Other programs may come like a compressed folder tree you unpack where you want it, read any documents like readme and help files you find in it, and run the executable.

Like always it is good to start non-Mageia packaged programs the first time from the command line in a terminal so you see any messages, like missing dependencies.

In user home

Often programs are best installed in users /home/username/. Example: Eagle CAD (Proprietary printed circuit CAD)

For all users, i.e Acrobat Reader

These programs should end up in the /usr/local/ directory. This directory is intended for non-official packages.

Compiling the program yourself

The familiar trilogy:

./configure
make
make install

... Optionally making an rpm

Instead of that triology above, you can use checkinstall to generate an rpm:

./configure
make
checkinstall

You will then get an rpm that can be installed using urpmi, and can also be uninstalled when you want to. If the tarball already includes a good spec file, it is even easier:

rpmbuild -tb ballname.tar.gz

Qt programs

Mageia has the development suite so you may load the source in QtCreator and compile and launch it from there, also for debug, edit, development.

Or for just compiling it you can use qmake, see example for shematic program QElectroTech.

Running MSWindows programs

Wine

Wine can be used to translate system calls between MSWindows programs and the Linux system. It works for a lot of programs but not all. See https://www.winehq.org/ and https://wiki.winehq.org/Main_Page.

Install Template:Pkg from our repos - (Template:Pkg if you run 64 bit Mageia, and then also Template:Pkg (32 bit support)).

You may also want Template:Pkg and Template:Pkg / Template:Pkg.

For Win32 and PlayOnLinux too, you may need to manually install Template:Pkg and Template:Pkg mga#28814, and Template:Pkg mga#28840 as some programs need them.

Note:
In order to install wine32 on a 64 bit installation, the Core 32bit Release and Core 32bit Updates repositories must be enabled - Please read further above.

Configure wine by starting winecfg and launch programs directly by issuing wine PROGRAM [ARGUMENTS...].

For more thorough and more automated configuring including help to download libraries and programs: install from our repo and run q4wine. See home page.

PlayOnLinux

Mageia 7 also have PlayOnLinux. Unfortunately at Mageia 8 release it was upstreams not ported to Python3 yet so had to be removed from release repository.

NEWS: mga#28717 - upstream PlayOnLinux now works on Mageia 8, and is now being packaged, please test.

You may also need more packages, see Wine above.

Note:
PlayOnLinux will install Wine as dependency, and for wine32 on a 64 bit installation, the Core 32bit Release and Core 32bit Updates repositories must be enabled - Please read further above.

Running DOS programs

In our repo you can find dosbox, and dosemu with the graphical extension xdosemu. There also is an image "dosemu-freedos" of FreeDOS, which is a free/libre alternative to MS DOS, for use with (x)dosemu. They use certain special features of the Linux kernel and the 80386+ processor. For more info read the package descriptions and search the net.

Emulators

Run "anything" for PC by using another OS

Emulate one or more other PC simultaneously and install the operating systems you need, and easily stop, start, clone, archive them.

Using virtualised PC hardware (see below), you can install almost any PC operating systems in one or more virtual PC - you can install DOS, Windows XP, 7, 10... or other Linux.

Emulate non-PC computers

Fancy old games? We have some emulators for DOS and various game consoles and old home computers, for which you can find games and other software on the internet or you maybe have them. Search for packages containing "emulator" in all packages summaries.

Game environments (and some apps too)

Steam

You can install Steam from our repo, and it provides an environment which can download and run games, and other software. A lot of software is available for more than one operating system. See here for Linux apps.

Note:
To install Steam you first need to enable 32 bit repositories - Please read further above.

Proton

Proton is a port by Valve of Wine, integrated into Steam as one of several compatibility layers Steam Play use to make it able to play games made for MS Windows on Linux systems. How-to guide. Unofficial game compatibility database: ProtonDB

Lutris

We also have Lutris packaged, that installs and launches games.

Flashpoint

Flashpoint (not packaged) supports games and animations created for a variety of web plugins and standards - not just Flash.

Common issues

Dependencies

Often foreign .rpm, converted .deb, binaries, .jar files, and some universal packages are dependant on one or more libraries. Usually, Mageia has them all, but under different names.

Try launching the program in a text terminal (i.e in konsole in Plasma), and it will often tell you what file it can not find. Then you can use urpmf or rpmdrake to search for it in a Mageia package and install that. If we have it in another place or slightly different version, you may be successful with symlinking or copying.

One common difference is that on Mageia the 64 bit libs are named lib64* but the rpm may need/look for the lib without the name "64".

Security

o Flatpack provides a kind of sandboxing in itself.

o Firejail provides sandboxing for many programs, and is good for Appimage programs too. You need packages firejail and also firetools for configuring. Basic simple usage: prefix your program with "firejail". Using firetools: launch firetools and you see a pane with default quickstart links, and at top left two configuration links. Also see here.

o Systems run under emulators like VirtualBox only share folders that you configure for sharing and can be read-only.

Containers

Containers offer an environment as close as possible as the one you'd get from a VM (Virtual Machine / vitualised hardware) but without the overhead that comes with running a separate kernel and simulating all the hardware. For more information see Wikipedia on OS-level virtualization. A good to the point introduction by RedHat is here.

In Mageia repos you find lxc, Docker (Wikipedia) and Podman. Some general Virtualisation Managers handle containers too.

Docker use a client-server architecture, while Podman use a daemonless architecture.

Virtualised hardware

For hardware virtualisation (Virtual Machine, VM - more or less emulate a computer and install OS on it) see our Virtualisation page. - VirtualBox, QEMU, KVM, Virt-Manager, Xen, are all packaged and VMware can be installed.

Cloud server

On Mageia you can install Nextcloud server which in turn can run a lot of plugin web applications like shared calendar, OnlyOffice, etc.

Nextcloud runs under the internet server Apache or Nginx. The server can run other things too, like Urpmi-proxy.

Even more ways...

Just short mentions, not to elaborate on here:

  • There exist great plugins for web browsers and other programs, macros for some programs, ...
  • You can execute command line scripts and the sort in various languages...