Skip to main content

RPM ユーザ権限でインストールする

インストール時は、rpmコマンドの次のオプションを使用して、インストールを行います。

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

--dbpathオプションは、RPMのインストール情報を記録しておきたいパス(ディレクトリ)を決めて、指定します。

また、サーバインストール時は環境変数「ARCHAEA_TOOLS_USER_INSTALL」を使用して、非特権ユーザに不要な処理(systemd関連)をスキップできます。

ARCHAEA_TOOLS_USER_INSTALL yes

インストール先を/home/user/archaea_tools、RPMのインストール情報の記録先を/home/user/rpmに指定する場合は次の様に実行します。

例:
[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

サーバを利用する場合は、次の点に留意してください。

  • systemdは利用しない hcpdコマンドを直接実行して使用する
  • ポート番号は非特権ユーザで使える番号を使用する
  • PIDファイルはコマンドオプションから指定する
  • 一般ユーザでPAM認証(/etc/pam.d/hcpd)やアカウント情報の問合せができない場合は、LPA認証やUID/GID設定、匿名利用(ポート制限、アクセス元制限と併用する)などを検討する

アンインストール時は、次のオプションを使用して、パッケージ名を指定して削除を行います。

--nodeps
--dbpath

※--relocate、--badrelocは指定しません。

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

サーバは、次のパッケージがシステムにインストールされている必要があります。

libicu, pam, openssl, zlib

rpmコマンドの -qa オプションなどで確認します。

例:
[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