From Mageia wiki
Jump to: navigation, search
Line 4: Line 4:
 
{{introduction|Mageia have a lot of software readily packaged. However we can not have everything, and not always the latest, or it may even be that you want something old, or more than one version installed at the same time.  Here are some methods that can be used.}}
 
{{introduction|Mageia have a lot of software readily packaged. However we can not have everything, and not always the latest, or it may even be that you want something old, or more than one version installed at the same time.  Here are some methods that can be used.}}
  
''This is a very initial draft, just throwing things down. I will continue shortly...  Extensions, linking, formatting fix and corrections are welcome.''
+
= Really not in Mageia ? =
 
 
 
 
  
= Really not in Mageia ? =
+
First, check if what you are looking for really is not packaged.  It can be under another name than 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, as example Okular for Plasma.
  
First, check if what you are looking for really is not packaged.
+
If you do not find a program you need, please ask in our forum.
  
 
== The proprietary drivers ==
 
== The proprietary drivers ==
  
The proprietary drivers i.e for graphigs 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 wan to use nouveau or the Nvidia driver.
+
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 wan to use nouveau or the Nvidia driver.
  
 
== Patent encumbered software ==
 
== Patent encumbered software ==
Line 24: Line 22:
 
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
 
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 6 ==
 +
https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management
 +
 +
You may use DNF as package manager: see above link and [https://wiki.mageia.org/en/Using_DNF here.].  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 [[Removing_packages remove orphans]].
 +
 +
Mageia may switch to use DNF per default in Mageia 7 and onwards.
  
 
= Universal package formats =
 
= Universal package formats =
  
There exist several ways to package software to make it easily installable on a lot of distros
+
There exist several ways to package software to make it easily installable on a lot of Linux distributions.
  
 
== Appimage ==
 
== Appimage ==
 +
https://en.wikipedia.org/wiki/AppImage , https://appimage.org/  Programs can be found at the program authors sites or [https://bintray.com/probono/AppImages at the AppImage developer]
  
https://appimage.org/  https://en.wikipedia.org/wiki/AppImage
+
Appimages are kind of self contained archives that can be run directly.
  
Examples: We have FreeCAD (a very capeable 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.
+
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 ==
 +
https://en.wikipedia.org/wiki/Flatpak , https://flatpak.org/  Programs can be found at https://flathub.org/ or at the program authors sites.
  
https://flatpak.org/
+
Flatpack provides a sandbox environment.  
 
 
Install flatpack from our repo.
 
  
Programs can be found at https://flathub.org/ or at the authors.
+
Install {{prog|flatpak}} from our repo.  When you start installing programs it will download a lot of dependencies and use quite a lot space in /var/lib/flatpack.
  
Example usage: [[how to install Spotify using flatpak=https://forums.mageia.org/en/viewtopic.php?f=15&t=11003&p=71011#p70972]]
+
Example usage: [https://forums.mageia.org/en/viewtopic.php?f=15&t=11003&p=71011#p70972 How to install Spotify using flatpak].
  
 
== Java jar files ==
 
== Java jar files ==
Line 50: Line 68:
 
Some may need much dependencies, while some have everything included. Example: FriBok (Swedish invoice and accounting)
 
Some may need much dependencies, while some have everything included. Example: FriBok (Swedish invoice and accounting)
  
In general, just start it with java -jar thejarfile.jar
+
In general, just start a java program with {{cmd|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 personalised my invoice formatting).
 
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 personalised my invoice formatting).
 
  
 
= Using foreign rpm directly =
 
= 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.
+
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 [[https://forums.mageia.org/en/viewtopic.php?f=24&t=4203&p=72080#p72080 installing a Canon printer driver] without using the supplied script.
 
  
 +
Sometimes you just have to though.  Here is an example [https://forums.mageia.org/en/viewtopic.php?f=24&t=4203&p=72080#p72080 installing a Canon printer driver] using the vendor rpm but without using their install script.
  
 
= Binary files =
 
= Binary files =
Line 69: Line 85:
  
 
Some have an installer script.  It may be a good idea to look into the script to see what it does.
 
Some have an installer script.  It may be a good idea to look into the script to see what it does.
 
 
  
 
= Compiling the program yourself =
 
= Compiling the program yourself =
Line 81: Line 95:
 
make install
 
make install
 
</pre>
 
</pre>
 
  
 
== ... Optionally making an rpm ==
 
== ... Optionally making an rpm ==
Line 96: Line 109:
  
 
{{cmd|rpmbuild -tb ballname.tar.gz}}
 
{{cmd|rpmbuild -tb ballname.tar.gz}}
 
 
  
 
== Qt programs ==
 
== Qt programs ==
  
 
Mageia have the development suite so you may load it in QtCreator and compile and launch it from there.
 
Mageia have the development suite so you may load it in QtCreator and compile and launch it from there.
 
  
 
= Repackaging rpm =
 
= Repackaging rpm =
Line 108: Line 118:
 
== rpm packages from other Mageia release ==
 
== rpm packages from other Mageia release ==
  
In Mageia development release "Cauldron", there may exist a newer version you need of a program.
+
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 ==
  
You can then often download that rpm and rebuild it to suit the Mageia release you run, see [[How_to_do_your_own_backports]].
+
An rpm from another distro can often be rebuilt for Mageia. Please refer to [[Packagers RPM tutorial]]. A good source for best suitable package candidates is Fedora.
  
 +
== .deb packages ==
  
== foreign .rpm packages ==
+
Programs packaged for Debian/Ubuntu/... in .deb format can often be converted using the program {{prog|alien}}, which you can install from Mageia repo.
  
An alien rpm from another distro can often be rebuilt for Mageia. Please refer to [[Packagers RPM tutorial]].
+
Example: [https://forums.mageia.org/en/viewtopic.php?f=15&t=11003&p=71011 How to repackage and install Spotify]
  
A good source for best suitable package candidates is Fedora.
+
= Running MSWindows programs =
  
 +
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/.
  
== .deb packages ==
+
Install {{prog|wine}} from our repos, (wine64 if you run 64 bit Mageia) and q4wine if you want a Qt5 GUI for configuring it.  
  
Programs packaged for Debian/Ubuntu/... in .deb format can often be converted using the program alien, which you can install from Mageia repo.
+
= Running DOS programs =
  
Example: [https://forums.mageia.org/en/viewtopic.php?f=15&t=11003&p=71011 how to repackage and install Spotify]
+
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.
  
 +
= Emulators =
  
= Running MSWindows programs =
+
== 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.
  
Install {{prog|wine}} from our repos. [https://www.winehq.org/]
+
The most desktop friendly is [[Virtualbox]] from our repos. Using that you can install almost any PC operating system in a virtual PC, so you can install DOS, Windows XP, ...
  
 +
== Emualte NON-PC computers ==
  
= Run "anything" by using another OS =
+
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 net.  Search for packages containing "emulator" in all packages summaries.
  
Install {{prog|Virtualbox}} from our repos.  Using that you can install almost any PC operating system in a virtual PC, so you can install DOS, Windows XP, ... and run those programs
+
= 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.  Some software is available for more than OS.  [https://steamdb.info/linux/ Here] is a list of apps for Linux.
  
 
= Common issues =
 
= Common issues =
Line 143: Line 162:
 
Often foreign .rpm, converted .deb, binaries, .jar files, and some universal packages are dependant on one or more libraries.  Usually Mageia have them all, but under different names.
 
Often foreign .rpm, converted .deb, binaries, .jar files, and some universal packages are dependant on one or more libraries.  Usually Mageia have them all, but under different names.
  
You may use rpm -ivh *** note caveats, example
+
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 {{prog|urpmf}} or {{prog|diskdrake}} 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.
 
 
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 diskdrake 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".
 
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".

Revision as of 23:39, 20 March 2018

this page is a draft.
It requires improvements. If you want to improve it, simply log in and click on the Edit tab.

Please remove this {{Draft}}template, when you're sure the page is complete and correct.


View the other draft pages, or other pages to improve and maintain.
Synopsis:
Mageia have a lot of software readily packaged. However we can not have everything, and not always the latest, or it may even be that you want something old, 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 than 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, as example Okular for Plasma.

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 wan 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 leagally 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 6

https://wiki.mageia.org/en/Mageia_6_Release_Notes#Package_management

You may use DNF as package manager: see above link and here.. 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 Removing_packages remove orphans.

Mageia may switch to use DNF per default in Mageia 7 and onwards.

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 or at the AppImage developer

Appimages are kind of self contained archives that can be run directly.

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

https://en.wikipedia.org/wiki/Flatpak , https://flatpak.org/ Programs can be found at https://flathub.org/ or at the program authors sites.

Flatpack provides a sandbox environment.

Install flatpak from our repo. When you start installing programs it will download a lot of dependencies and use quite a lot space in /var/lib/flatpack.

Example usage: How to install Spotify using flatpak.

Java jar files

Generally the most versatile, also works on Microsoft and Apple systems. Some may need much 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 personalised 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.

Binary files

Some programs are best installed in users /home. Example: Eagle CAD (Proprietary printed cirquit CAD)

Often you download a package and unpacks it where you want it and run it from there.

Some have an installer script. It may be a good idea to look into the script to see what it does.

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 have the development suite so you may load it in QtCreator and compile and launch it from there.

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 best suitable package candidates is Fedora.

.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

Running MSWindows programs

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

Install wine from our repos, (wine64 if you run 64 bit Mageia) and q4wine if you want a Qt5 GUI for configuring it.

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.

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.

The most desktop friendly is Virtualbox from our repos. Using that you can install almost any PC operating system in a virtual PC, so you can install DOS, Windows XP, ...

Emualte 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 net. 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. Some software is available for more than OS. Here is a list of apps for Linux.

Common issues

Dependencies

Often foreign .rpm, converted .deb, binaries, .jar files, and some universal packages are dependant on one or more libraries. Usually Mageia have 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 diskdrake 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".