SQL/R A.04.20 Installation on Linux
This document contains installation instructions specific to the Linux platform.
- System requirements
- Enabling 32-bit application support
- Installation directory
- Installation
- Installing the RPM archive
- Updating from a previous SQL/R release
- Uninstalling SQL/R
- Red Hat (Fedora and RHEL) specific notes
- SUSE (openSUSE and SLES) specific notes
- Debian/Ubuntu specific notes
- sqlrodbc TCP service name
- Encryption Support
- LDAP Support
- Configuring the Server
System requirements
SQL/R is not distribution specific, however it was only tested against selected SUSE Linux, RedHat Linux and Ubuntu distributions. Other Linux distributions are expected to work but may not have been fully tested or may require additional manual configuration.
- SLES 15 SP3, OpenSUSE 15.3 or newer
- RHEL 8.5 or newer
- Ubuntu 22.04 LTS, Debian 11 or newer
SQL/R uses OpenSSL for cryptographic functions, such as encrypted passwords or encrypted communication. It is also used by the sqlictool to install a license key. The installation process creates symlinks to the libcrypto and libssl shared libraries that are used by SQL/R. It is recommended to install the OpenSSL software before SQL/R. Please refer to Encryption Support for more information.
The SQL/R LDAP support on Linux uses the OpenLDAP client to access the LDAP server. The OpenLDAP client package must be installed to use the LDAP support. Please refer to LDAP Support for more information.
Enabling 32-bit application support
SQL/R on the x86_64 64-bit platform supports both 64-bit and
32-bit applications.
The SQL/R packages on the x86_64 platform include 32-bit SQL/R libraries for simplicity but does not expose dependencies to 32-bit system libraries, such as the 32-bit glibc and openssl. This makes installation of 32-bit libraries optional when they are not needed, for example in a minimal container.
To support 32-bit applications on Linux, installation of the
32-bit openssl library will resolve the necessary run-time library
dependencies and result in a functional 32-bit environment.
Please make sure the 32-bit openssl libraries use the same
version as the 64-bit openssl and gets installed before
installing SQL/R. This ensures the symlink to the 32-bit
libcrypto.so is installed automatically.
Please note the distribution specific hints below.
Installation directory
Starting with SQL/R A.04.00, multiple SQL/R versions may be installed
and used in parallel. Each major version is installed into a separate
directory while minor updates will update an existing version.
The SQL/R A.04.20 software is installed in the "/opt/sqlr/4.2/" directory. The SQL/R configuration files are installed in the "/etc/opt/sqlr/4.2/" directory.
The installation procedure retains the configuration of a previous SQL/R release. Modified configuration files are not deleted. Configuration files from an older major version are expected to be compatible but must be copied (or linked) manually.
Installation
SQL/R is available as RPM and DEB packages to support a variety
of distributions.
The preferred option for installation on the Linux platform is to use the package repository. Using a repository will resolve any package dependencies and also make it easy to install updates once available. Depending on the Linux distribution, yum/dnf, zypper or apt is used.
Please refer to the Red Hat, SUSE and Debian/Ubuntu notes how to install SQL/R from a package repository.
If necessary, install or update the SQL/R license key.
RPM package installation
The SQL/R package file may also be downloaded and installed separately. This may be required if the system has no connection to the Internet.
Verifying RPM file signature
Any SQL/R A.04.20 RPM packages are signed to allow
verifying the package integrity and authenticity.
The necessary public keys are included in the repositories and are used
to automatically verify software updates. You can also verify the packages
manually using the keys below.
Run the following command to verify an SQL/R A.04.20 RPM package:
rpm --checksig -v SQLR-A0420-*.rpmThe output of this command shows whether the package is signed and which key signed it.
$ rpm --checksig -v SQLR-A0420-1-el8.x86_64.rpm Header V4 RSA/SHA256 Signature, key ID 984685ff: NOKEY Header SHA256 digest: OK Header SHA1 digest: OK Payload SHA256 digest: OK V4 RSA/SHA256 Signature, key ID 984685ff: NOKEY MD5 digest: OKThe following GPG keys are used:
2048R/984685FF (2018-06-15)
Download:
Marxmeier
Fingerprint: 4956 33F7 9F1C 7893 1C63 B1CD 09EB 632C 9846 85FF
Installing the RPM package
Different builds of the SQL/R software are available.
Please choose the appropriate package that corresponds with your system:
- SQLR-A0420-*.x86_64.rpm
-
SQL/R rpm file (x86_64, 64 bit)
This is the build for a 64 bit OS running on AMD64 (x86_64) based systems. Includes support for 32 bit x86 applications.
The (*) denotes the version of the SQL/R software and the RPM package. Higher numbers indicate a newer installation archive. Files with a version suffix el8 are intended for use with RHEL 8.x and compatible, a version suffix s15 indicates compatibility with SUSE Linux 15 and newer.
To install SQL/R execute the command as below. This example uses the x86_64 package for RHEL 8.x.
rpm -i SQLR-A0420-*-el8.x86_64.rpm
SQL/R uses systemd to manage its services. The default systemd unit files are provided in the directory /opt/sqlr/4.2/newconfig/systemd and installed in a system location.
If systemd is not available (for example, installing a container) custom startup and shutdown scripts must be used.
Automatic startup of SQL/R server process during system boot is configured via systemctl enable/disable.
systemctl enable sqlr42.service
Updating from a previous SQL/R release
Starting with SQL/R A.04.00 multiple SQL/R versions may be installed and used in parallel. Each major version is installed into a separate directory while minor updates will update an existing version.When updating from a SQL/R version before A.04.20 the previous SQL/R version is not affected. Any previous configuration files need to be copied or linked manually.
When updating from a previous SQL/R A.04.20 version it is replaced when updating. Any customized configuration files are retained.
To update an existing SQL/R installation, please shut down SQL/R using the command below:
systemctl stop sqlr42Then update the RPM archive.
rpm -U SQLR-A0420-*.x86_64.rpmIf necessary, update the license key. After the update has finished SQL/R can be started with the command below:
systemctl start sqlr42
Automatic startup of SQL/R server processes during system boot is configured with systemd with systemctl enable sqlr42.service. Please refer to the systemd documentation for details.
Uninstalling SQL/R A.04.20
To uninstall SQL/R A.04.20 from your system, please make sure the
software is not currently used. The following command may be used
to shut down the SQL/R background processes.
systemctl stop sqlr42The software is removed using the rpm utility. Please login as root and execute rpm as below
rpm -e SQLR.A0420
Red Hat (RHEL/Fedora and compatible) specific notes
On RedHat and compatible distributions dnf is used preferably to manage packages.
Installation using the package repository
The recommended installation procedure uses a package repository to install or update the SQL/R release. SQL/R uses a repository that is shared with Eloquence.If the Eloquence repository is not present, the procedure below adds the Eloquence repository, imports the package signing key. Then proceed with the installation.
Add the repository
dnf config-manager --add-repo \ https://repo.marxmeier.com/rpm/eloquence-el8.repoThis refers to the Eloquence release repository for RHEL 8.x and compatible.
Import the public key to verify package integrity and authenticity. This is optional as dnf will offer to import the signing key from the repository
rpm --import \ https://repo.marxmeier.com/rpm/RPM-GPG-KEY
Then install SQL/R
dnf install SQLR.A0420SQL/R depends on the openssl libraries but does not include a dependency on a specific openssl version as openssl versions may differ.
As openssl is typically installed by default this is not a concern other than for a minimal container installation. In this case the openssl utility needs to be installed before SQL/R.
dnf install opensslIf 32-bit application support is needed, the 32-bit openssl library needs to be installed before SQL/R.
dnf install openssl-libs.i686
If LDAP is used for the account data, then installation of the libnss_sss library may be necessary for 32 bit applications.
dnf install sssd-client.i686
To enable access to SQL/R test versions the sqlr-beta-el8 repository may be added.
dnf config-manager --add-repo \ https://repo.marxmeier.com/rpm/sqlr-beta-el8.repo
Installation without a package repository
The dnf command may also be used to install SQL/R without a package repository. The example below downloads the rpm archive and installs it. As an optional (but recommended) step the SQL/R package signing key is imported so the package integrity and authenticity can be verified.Import the public key to verify package integrity and authenticity (recommeded but optional)
rpm --import \ https://repo.marxmeier.com/rpm/RPM-GPG-KEYDownload and install the rpm file
dnf install https://marxmeier.com/download/sqlr/A0420/linux/\ SQLR-A0420-*-el8.x86_64.rpm
The rpm file may also be downloaded and installed separately. This may be required if the system has no connection to the Internet. In this case it is recommended to also download and import the package signing key as shown above.
dnf install SQLR-A0420-*.x86_64.rpm
Finally, the rpm command may also be used to install the SQL/R package. However, this requires to resolve any dependencies manually.
SUSE (SLES/openSUSE) specific notes
On SUSE and compatible distributions zypper is
used preferably to manage packages.
Installation using the package repository
The recommended installation procedure uses a package repository to install or update the SQL/R release. SQL/R uses a repository that is shared with Eloquence.If the Eloquence repository is not present, the procedure below adds the Eloquence repository, imports the package signing key. Then proceed with the installation.
Add the repository
zypper addrepo -f \ https://repo.marxmeier.com/rpm/eloquence-s15.repoThis refers to the Eloquence release repository for SLES 15 and compatible.
Import the public key to verify package integrity and authenticity. This is optional as zypper will offer to import the signing key from the repository
rpm --import \ https://repo.marxmeier.com/rpm/RPM-GPG-KEYThen install SQL/R
zypper install SQLR.A0420
SQL/R depends on the openssl libraries but does not include
a dependency on a specific openssl version as openssl versions may differ.
As openssl is typically installed by default this is not a
concern other than for a minimal container installation.
In this case the openssl utility needs to be installed before
SQL/R.
zypper install opensslIf 32-bit application support is needed, the 32-bit openssl library needs to be installed before SQL/R.
zypper install libopenssl1_1-32bit - or - zypper install libopenssl3-32bit
To enable access to SQL/R test versions the sqlr-beta-s15 repository may be added.
zypper addrepo -f \ https://repo.marxmeier.com/rpm/sqlr-beta-s15.repo
Installation without a package repository
The zypper command may also be used to install SQL/R without a package repository. The example below downloads the rpm archive and installs it. As an optional (but recommended) step the package signing key is imported so the package integrity and authenticity can be verified.Import the public key to verify package integrity and authenticity (recommeded but optional)
rpm --import \ https://repo.marxmeier.com/rpm/RPM-GPG-KEYDownload and install the rpm file
zypper install https://marxmeier.com/download/sqlr/A0420/linux/\ SQLR-A0420-*-s15.x86_64.rpmThe rpm file may also be downloaded and installed separately. This may be required if the system has no connection to the Internet. It is also recommended to download and import the package signing key as shown above.
zypper install SQLR-A0420-*.x86_64.rpm
The rpm command may also be used to install the SQL/R package. However, this requires to resolve any dependencies manually.
Debian/Ubuntu specific notes
The following notes apply to Debian or Linux distributions
derived from Debian (such as Ubuntu).
Installation using the package repository
The recommended installation procedure uses a package repository to install or update the SQL/R release. SQL/R uses a repository that is shared with Eloquence.If the Eloquence repository is not present, the procedure below adds the Eloquence repository, imports the package signing key. Then proceed with the installation.
To add the repository please add the eloquence-d11.list file to /etc/apt/sources.list.d
( cd /etc/apt/sources.list.d && wget \ https://repo.marxmeier.com/deb/eloquence-d11.list )Import the repository signing key to the apt key ring. This is used to verify the integrity of the repository.
wget -O /etc/apt/trusted.gpg.d/eloquence.asc \ https://repo.marxmeier.com/deb/signing.keyRefresh the apt cache and install SQL/R
sudo apt update sudo apt install sqlr.a0420
SQL/R depends on the openssl libraries but does not include
a dependency on a specific openssl version as openssl versions may differ.
As openssl is typically installed by default this is not a
concern other than for a minimal container installation.
In this case the openssl utility needs to be installed before
SQL/R.
sudo apt install opensslIf 32-bit application support is needed, the 32-bit openssl library needs to be installed before SQL/R.
sudo apt install libssl1.1:i386 - or - sudo apt install libssl3:i386
To enable access to SQL/R test versions the sqlr-beta-d11 repository list may be added.
( cd /etc/apt/sources.list.d && wget \ https://repo.marxmeier.com/deb/sqlr-beta-d11.list )
Installation without a package repository
The SQL/R package file may also be downloaded and installed separately. This may be required on systems that are not connected to the Internet.SQL/R does provide a Debian specific .deb installation package. You may install SQL/R with the command below:
sudo dpkg -i sqlr.a0420_*_amd64.debPlease keep in mind that when installing packages manually (instead of using apt) any dependencies may need to be resolved manually.
sqlrodbc TCP service name
The SQL/R installation adds an entry like below
in the /etc/services file:
sqlrodbc 8003/tcp # SQL/R ODBCThe first column specifies the service name ("sqlrodbc"), the second column the associated port number and protocol ("8003/tcp"). This entry associates the service name "sqlrodbc" with the TCP port number 8003. The service name "sqlrodbc" is used as a default.
SQL/R may also install additional Eloquence specific TCP service names, such as eloqdb, the default database service and eloqld, the default service used by the Eloquence license server.
eloqdb 8102/tcp # Eloquence data base server eloqld 8104/tcp # Eloquence license serverIn rare cases it might be necessary to modify the default configuration, for example if the port number is already in use or does not match the one configured on other systems.
SQL/R uses the OpenSSL library for cryptographic functions. The OpenSSL library is optional for the SQL/R ODBC server and driver but required to use the sqlictool to install license keys. SQL/R was tested with the OpenSSL 1.1 and 3.0 library versions. SQL/R dynamically adapts to the OpenSSL library and does not depend on a specific version to be installed.
The OpenSSL library must be designated as libcrypto.so or libssl.so in the SQL/R lib and lib64 directories. A symbolic link in the SQL/R lib and lib64 directories is created during installation.
To force SQL/R to use a specific crypto library, the symbolic link may be changed manually.
For example, this configures SQL/R to use the OpenSSL library version 1.1 on an x86_64 platform:
ln -sf /usr/lib/libcrypto.so.1.1 /opt/sqlr/4.2/lib/libcrypto.so ln -sf /usr/lib64/libcrypto.so.1.1 /opt/sqlr/4.2/lib64/libcrypto.so ln -sf /usr/lib64/libssl.so.1.1 /opt/sqlr/4.2/lib64/libssl.so
An example for using the for using the OpenSSL library version 1.1 on the aarch64 platform:
ln -sf /lib/aarch64-linux-gnu/libcrypto.so.1.1 /opt/sqlr/4.2/lib/libcrypto.so ln -sf /lib/aarch64-linux-gnu/libssl.so.1.1 /opt/sqlr/4.2/lib/libssl.so
LDAP Support
The SQL/R LDAP support on Linux uses the OpenLDAP client to access
the LDAP server. The openldap2-client (SUSE), openldap-clients (RHEL)
or ldap-utils (debian) package must be installed to use the LDAP support.
To use LDAP, the server process dynamically loads a libldap.so library. The SQL/R specific lib directory has precedence in locating the library. The LD_LIBRARY_PATH environment variable may be used to select a specific library to be loaded. Otherwise the system default is used.
Configuring SQL/R startup
Automatic startup of SQL/R server processes during system boot is configured with systemdsystemctl enable sqlr42.service
Autostart should be disabled if the SQL/R server component is not used (eg. only the ODBC driver is used to access a remote database).
Configuring the server
The SQL/R ODBC server is configured with the configuration file odbc.cfg. The configuration file is read by the SQL/R ODBC server when it is started.The odbc.cfg configuration file is located in the /etc/opt/sqlr/4.2/ directory.
User and Group
The User and Group configuration items in the odbc.cfg specify a user and group that is used to run the SQL/R server process. The default account and group is sqlr.These options are ignored if the server is not started with root privileges.
A configuration value is required when the server is started with root privileges.
User = sqlr Group = sqlr
MaxUsers
The MaxUsers configuration item in the odbc.cfg file specifies the maximum number of concurrent processes connecting to the SQL/R ODBC server. The default is 40 simultaneous connections.MaxUsers = 40