PixInsight 1.8.0 Ripley: New UNIX/Linux Installer Program

Juan Conejero

PixInsight Staff
Staff member
As most of you probably know, the primary operating systems for PixInsight development are Linux and FreeBSD. This means that the whole PixInsight platform, including the core application and all modules and utilities, are being developed mainly on Linux workstations. Currently our development machines run Fedora 16, Fedora 19 and PC-BSD 9.1 operating systems with KDE and GNOME desktop managers. The Windows and Mac OS X versions of PixInsight are actually ports or adaptations of the main development trunk on UNIX/Linux.

One paradoxical situation is that, being PixInsight mainly a UNIX/Linux application, so far we have not had an installation program for these platforms. Windows users simply download an installation package and run it to install PixInsight on their machines, then PixInsight gets integrated automatically with the Start menu (or whatever replaces the Start menu on Windows 8). Mac OS X users simply download a .zip archive and uncompress it on their /Applications folder. The concept of application bundle allows you to identify a whole application with a single file/icon unit, which is a nice and distinctive feature of the Mac OS X operating system.

However, Linux and FreeBSD users have to "install" PixInsight following a manual process: they have to uncompress a .tar.gz archive and manually create desktop entry files to integrate the application with their desktop manager of choice. This is a tedious to say the least. In Spanish we have a saying that goes as follows: en casa del herrero, cuchillo de palo. The official translation of this saying into English is: there's none worse shod than the shoemaker's wife. Some of the Spanish version's feeling gets lost in translation, but you get the idea.

This has changed forever with PixInsight 1.8.0. All FreeBSD and Linux packages include now an installer program that integrates the PixInsight application nicely with any X11 desktop manager that follows freedesktop.org standards, such as KDE, GNOME, Xfce, LXDE, etc.


Installing PixInsight on a UNIX/Linux X11 Platform

The procedure to install PixInsight on an X11 desktop environment is as follows:

1. Download the installation package for your platform. In all cases, installation packages for UNIX/Linux are tarballs: either .tar.gz or .tar.bz2 archives. To ease the process, better create a dedicated installation directory first, and download the package to that directory.

2. Open a terminal, go to the directory where you have downloaded the installation package, and uncompress it. For example:

Code:
cd ~/pi-install
tar -xzf PI-linux-x86_64-01.08.00.1054-20131121-c.tar.gz

This will generate two new items, namely an "installer" executable file and a "PixInsight" directory:

Code:
-rwxr-xr-x.  1 juan juan  1742471 Nov 23 11:43 installer
-rw-r--r--.  1 juan juan 97650805 Nov 23 11:44 PI-linux-x86_64-01.08.00.1054-20131121-c.tar.gz
drwxr-xr-x. 10 juan juan     4096 Nov 23 11:44 PixInsight

3. Run the installer program as root. For example, using the "su" command:

Code:
su -c './installer'

or with the "sudo" command:

Code:
sudo ./installer

The installer will write a list with the current installation parameters, asking you for confirmation:

Code:
[juan@volans pi-install]$ su -c './installer'
Password: 

-------------------------------------------------------------------------------
PixInsight X11 UNIX/Linux installer version 01.08.00.1054 Ripley
Copyright (C) 2003-2013 Pleiades Astrophoto. All Rights Reserved
-------------------------------------------------------------------------------

PixInsight will be installed with the following parameters:

Source installation directory ... /home/juan/pi-install/PixInsight
PixInsight Core application ..... /opt/PixInsight
Application desktop entry ....... /usr/share/applications/PixInsight.desktop
Application icons directory ..... /usr/share/icons/hicolor
Create /bin launcher script ..... yes
Remove previous installation .... no

==> Are you sure [yes|no] ?

You have to type either "yes" or "no" (without quotes); simply hitting the Y or N keys doesn't work. If you answer yes, then PixInsight will be installed on your system, with automatic integration in the desktop menus:

installer-menu.jpg

The installer doesn't create a launcher icon on the desktop, since we don't agree with these "invasive" installation practices (the Windows and Mac OS X installations don't create desktop shortcuts either), but you can easily copy/paste the launcher from the menu if you like it.

As you see, installing PixInsight on Linux and FreeBSD is now a simple three-step procedure. By default, the installer program creates a launcher script on your /bin directory, so you can run PixInsight from a terminal and any location on your system, by simply entering "PixInsight".

The PixInsight application integrates with the standard Applications/Graphics category.


Uninstalling and Reinstalling PixInsight

Once you have the application installed, you can uninstall it by passing the "-u" command line argument to the installer program:

Code:
[juan@volans pi-install]$ su -c './installer -u'
Password: 

-------------------------------------------------------------------------------
PixInsight X11 UNIX/Linux installer version 01.08.00.1054 Ripley
Copyright (C) 2003-2013 Pleiades Astrophoto. All Rights Reserved
-------------------------------------------------------------------------------

*** WARNING ***
This action is irreversible. All existing files in the following directory will be removed:

/opt/PixInsight

==> Are you sure [yes|no] ?

If you install a new version of PixInsight on your machine, by default the installer program will create a backup of your current installation first. Normally, you won't need a backup copy, which may waste a considerable amount of disk space. You can disable the backup copy with the "-r" argument to the installer program. In the next section we review all installer command-line arguments.


Installer Command-Line Arguments

As of version 1.8.0.1054, the PixInsight X11 installer program recognizes the following command-line arguments. When applicable, default argument values are written between parentheses.

Code:
--source-dir=<dir> | -s=<dir>

      Specifies the source installation files directory. (./PixInsight)

--install-dir=<dir> | -i=<dir>

      Specifies the target installation directory. (/opt/PixInsight)

--install-desktop-dir=<dir>

      Specifies the desktop entries installation directory. (/usr/share/applications/)

--install-icons-dir=<dir>

      Specifies the icons installation directory. (/usr/share/icons/hicolor/)

--bin-launcher[+|-]

      Create a PixInsight launcher shell script on the /bin directory. (enabled)

--remove[+|-] | -r[+|-]

      If this option is enabled and a previous PixInsight installation exists, it is removed before performing a new one. (disabled)

--uninstall | -u

      Uninstalls an existing PixInsight installation.

--version

      Prints the installer version and exits.

--help

      Shows this help text and exits.

The most useful arguments are -r (or its equivalent long version --remove) to replace an existing installation, and -u (or --uninstall) to uninstall it. You don't need to be root to pass one of the --version or --help arguments.

Today we show some well deserved love to our UNIX/Linux users. I hope you'll like this new feature.
 
Hi Juan,

Do you have any existing threads of posts where someone is unable to install a trial version using the new installer?  I have Debian Mint MATE16 and cannot install either with su or sudo.  I get the following errors;

keith@N500 ~/Downloads $ sudo ./installer
[sudo] password for keith:
./installer: 4: ./installer: Syntax error: Unterminated quoted string

keith@N500 ~/Downloads $ su -c './installer'
Password:
bash: ./installer: cannot execute binary file

Regards,

Keith

 
kcobby said:
Hi Juan,

Do you have any existing threads of posts where someone is unable to install a trial version using the new installer?  I have Debian Mint MATE16 and cannot install either with su or sudo.  I get the following errors;

After running the tar -zxf command I get repeats of the following;

tar: Ignoring unknown extended header keyword `SCHILY.dev'
tar: Ignoring unknown extended header keyword `SCHILY.ino'
tar: Ignoring unknown extended header keyword `SCHILY.nlink'
tar: Ignoring unknown extended header keyword `LIBARCHIVE.xattr.security.selinux

keith@N500 ~/Downloads $ sudo ./installer
[sudo] password for keith:
./installer: 4: ./installer: Syntax error: Unterminated quoted string

keith@N500 ~/Downloads $ su -c './installer'
Password:
bash: ./installer: cannot execute binary file

Regards,

Keith
 
Keith,
1. Please ignore the tar messages. They are not important.
2. I dont have Debian, and nobody (even Juan) can test every Linux distribution. Debian Mint MATE16 is not one of the recommended or tested Linux versions, see http://pixinsight.com/sysreq/index.html. Does it match the requirements given there? If you can, move to one of the recommended Linux distributions. I am using Fedora19.
3. try something like "ldd ./installer" and share the output. Most likely one of the libraries needed is missing.
4. share the output of running "uname -a"
5. share the output of running "/lib64/libc.so.6"
6. Last resort: Run "./PixInsight/bin/PixInsight.sh" directly and see what happens. Works fine for me.

Example outputs from my system attached below.

Georg

Code:
[georg@localhost Downloads]$ ldd installer 
        linux-vdso.so.1 =>  (0x00007ffffebe8000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00000034d3000000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00000034d5400000)
        libm.so.6 => /lib64/libm.so.6 (0x00000034d3800000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000034d4000000)
        libc.so.6 => /lib64/libc.so.6 (0x00000034d2800000)
        /lib64/ld-linux-x86-64.so.2 (0x00000034d2400000)
[georg@localhost ~]$ uname -a
Linux localhost.localdomain 3.11.10-100.fc18.x86_64 #1 SMP Mon Dec 2 20:28:38 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[georg@localhost ~]$ /lib64/libc.so.6 
GNU C Library stable release version 2.16, by Roland McGrath et al.
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.7.2 20121109 (Red Hat 4.7.2-8).
Compiled on a Linux 3.10.7 system on 2013-08-19.
Available extensions:
        Support for some architectures added on, not maintained in glibc core.
        The C stubs add-on version 2.1.2.
        crypt add-on version 2.1 by Michael Glad and others
        GNU Libidn by Simon Josefsson
        Native POSIX Threads Library by Ulrich Drepper et al
        BIND-8.2.3-T5B
        RT using linux kernel aio
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

 
Hi Georg,

Thanks for the feedback.  My bad, I have i686 32-bit Linux so the package I downloaded was not compatible.  Do you have the 32-bit Linux package available so I can at least play with it before buying a new laptop?

Regards,

Keith
 
kcobby said:
Do you have the 32-bit Linux package available so I can at least play with it before buying a new laptop?
No. Can you upgrade your OS to 64 bits? 64 bits capable processors are more or less standard since 2006.
 
How do you install PI without root access ?

You cannot. However, you can uncompress the distribution archive on a directory where you have read/write permissions (step 2 in the original post) and run PixInsight directly from the bin distribution directory. Then you can manually create shortcuts on your desktop, applications menu, etc.

Note however that this does not install the application. Your system won't be updated with file type and mime type associations, standard launch scripts won't be created, and PixInsight won't integrate with your desktop manager. Along with these problems, running a complex application like PixInsight from an unprotected directory is inherently insecure. Running PixInsight without a standard installation is strongly discouraged.
 
Hi Juan,

some of us dont have root permissions on the systems they use. Offering an optional non-Root installation (with the obvious limitations mentioned by you) would be welcome. Personally, I can live with the manual unpacking - but you never know if the installer does more. So having an officially supported non-root install would be great.

Georg
 
Hi Georg,

On modern UNIX/Linux systems with graphical desktop environments, installing an application without root privileges is impossible. To integrate an application with a desktop manager such as KDE or GNOME, you have to generate a set of files on system protected directories. See freedesktop.org for more information.

If you don't have root access to your machine, the only thing you can do is to uncompress the installation package on a directory where you have read/write/exec rights and run the PixInsight.sh launcher script from the bin installation folder. There is no way to install icons, mime type associations, menu entries and system scripts, unless you find a suitable way to do that manually (and you'll probably need root access in such case).
 
Juan,

You probably misunderstood: I am not asking that you integrate into Desktop managers Etc without root access. What I am asking for is that your install application does what it can do without root. Background: some installers modify wrapper scripts or change the default locations where the app looks for .so files. Something that does not happen when you just unpack the archive.

Proposal for your installer: allow optional "install" without root permission, inform the user about expected limitations, and do whatever is needed to create a running PI.

Georg
 
Thank you for your answer. I want to use a machine at work (really powerful), but I am not root, and therefore I asked the question.

It was not clear to me that the application would run directly without using the installer, albeit with limitations. I thought that perhaps it needs to install libraries somewhere specific, or that it would need to write settings and paths to a place it doesn't have access to.

So, in principle, it is perfectly fine the way it is. My suggestion would be to just add a little sentence in the install script, once it notices that it is not run by root, that says that I can still use the the application, but with limitations. That would clarify the situation.

 
I intended to install PI on the last Ubuntu and Fedora, and both failed. The software is seemingly instaled, but don't start. -I intended that, because I can't run the drivers of INDI on Windows (10 and 7 ...) - I supose my destiny is to wait ...
 
Back
Top