Skip to main content

RPM Install the software by non-privileged users

When installing, please specify the following options.

--relocate
--badreloc
--nodeps
--dbpath

Installation registry information will be saved at the place specified by the --dbpath option that is a directory where you want to save the information.

And you can skip unnecessary processing, e.g. systemd service registration, for non-privileged users if you use the following environment variable.

ARCHAEA_TOOLS_USER_INSTALL yes

Example:
[user@localhost ~]$ export ARCHAEA_TOOLS_USER_INSTALL=yes
[user@localhost ~]$ export ARCHAEA_TOOLS_INSTDIR=/home/user/archaea_tools
[user@localhost ~]$ rpm -ivh --nodeps --dbpath=/home/user/rpm --relocate /=/home/user/archaea_tools --badreloc bytix-archaea-tools-server-1.5.0-35.el9.x86_64.rpm

Please make the following attentions when using the server package in the above manner.

  • No to use systemd. Run the hcpd command by yourself.
  • Use non-privileged port numbers.
  • Specify PID file from command line.
  • When you cannot access to PAM authentication and account information by non-privileged users, please consider to use LPA authentication, UID/GID specification and public usage (anonymous access with port number limitation or network access limitation).

When uninstalling, please specify the following options.

--nodeps
--dbpath

* Do not specify --relocate and --badreloc.

Example:
[user@localhost ~]$ rpm -e --nodeps --dbpath=/home/user/rpm bytix-archaea-tools-server

For servers, you need the following packages on your system.

libicu, pam, openssl, zlib

You can confirm them by --qa option of the rpm command.

Example:
[user@localhost ~]$ rpm -qa | grep -E -e "^(libicu|pam|openssl|zlib)-"
libicu-67.1-9.el9.x86_64
openssl-pkcs11-0.4.11-7.el9.x86_64
libicu-devel-67.1-9.el9.x86_64
openssl-libs-3.0.1-43.el9_0.x86_64
openssl-devel-3.0.1-43.el9_0.x86_64
openssl-3.0.1-43.el9_0.x86_64
pam-1.5.1-12.el9.x86_64
pam-devel-1.5.1-12.el9.x86_64
zlib-1.2.11-35.el9_1.x86_64
zlib-devel-1.2.11-35.el9_1.x86_64

[user@localhost ~]$ find /usr/lib64 | grep -E -e "^/usr/lib64/lib(icudata|icuuc|pam|crypto|ssl|z)¥."
/usr/lib64/libicudata.so.67.1
/usr/lib64/libicudata.so.67
/usr/lib64/libz.so.1
/usr/lib64/libz.so.1.2.11
/usr/lib64/libicuuc.so.67
/usr/lib64/libicuuc.so.67.1
/usr/lib64/libcrypto.so.3
/usr/lib64/libcrypto.so.3.0.1
/usr/lib64/libssl.so.3
/usr/lib64/libssl.so.3.0.1
/usr/lib64/libpam.so.0.85.1
/usr/lib64/libpam.so.0
/usr/lib64/libcrypto.so
/usr/lib64/libz.so
/usr/lib64/libssl.so
/usr/lib64/libicudata.so
/usr/lib64/libicuuc.so
/usr/lib64/libpam.so