Install ePages on Linux with YUM or Zypper | → 6.15.1 | Created: 6.14.1; Updated: 6.15.1 |
ePages supports both Redhat Enterprise Linux (aka. RHEL) and SuSE Linux Enterprise Server (aka. SLES). Redhat uses YUM as RPM package manager, SuSE uses Zypper. Following document shows instructions for both RPM package managers.
Table of Contents |
If you set the environment variable VERBOSE=1 then you get a verbose yum/zypper installation.
The initial installation process consists of two steps:
curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh yum install @epages
Run on SuSE:
curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh zypper install epages
Beside the latest release, the ePages repository also provides any other releases starting from version 6.10.0. Installing old releases is similar to installing the latest release:
VERSION=6.12.0 curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh yum -y install @epages --enablerepo epages-$VERSION --disablerepo epages-setup
Run on SuSE: (VERSION=6.12.0 may differ)
VERSION=6.12.0 curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh zypper mr -e epages-$VERSION zypper mr -d epages-setup zypper install epages zypper mr -d epages-$VERSION
You may install ePages with language packs automatically starting from version 6.13.1.
For versions 6.13.x and 6.14.0 run following command to install all languages (example for Redhat):
curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh EPAGES_LANGUAGES=any EPAGES_LANG_KEY='k4_h1Hx+RH' yum install @epages
If you want to install specific languages, use the 2-character language codes, e.g. for Spanish and Italian:
curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh EPAGES_LANGUAGES='es it' EPAGES_LANG_KEY='k4_h1Hx+RH' yum install @epages
Starting from 6.14.1 EPAGES_LANG_KEY is not necessary anymore.
To avoid starting the database installation after the file installation, instead of installing the complete @epages group, just install its parts (example for Redhat):
curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh yum groupinstall epages-appsrv epages-reqsrv epages-mysqld epages-webconf epages-j
epages-j was introduced with 6.14.0, omit this if you want to install an older version.
After executing rpmify-epages.sh and before running yum/zypper you may change the file /etc/sysconfig/epages6 to customize your ePages installation:
vi /etc/sysconfig/epages6 . /etc/sysconfig/epages6
All customizable parameters are explained in /etc/sysconfig/epages6.
YUM/Zypper can be used for patching only if the installed ePages has at least version 6.10.0.
Patching ePages consists of three steps:
curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh yum check-update 'epages-*' --disablerepo epages-setup --enablerepo epages-update yum update 'epages-*' --disablerepo epages-setup --enablerepo epages-update
Run on SuSE:
curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh zypper mr -e epages-update zypper clean -a zypper list-updates zypper update zypper mr -d epages-update
Depending on the source version, it is possible that the target version can't be reached directly. Then, run the commands above again until the desired target version is reached.
ePages also can be patched to any desired version (starting from the installed version, at least 6.10.0). Patching to old versions is similar to patching to the latest version:
VERSION=6.12.0 curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh yum update 'epages-*' --disablerepo epages-setup --enablerepo epages-update-$VERSION
Run on SuSE: (VERSION=6.12.0 may differ)
VERSION=6.12.0 curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh zypper mr -e epages-update-$VERSION zypper clean -a zypper mr -d epages-update zypper update zypper mr -d epages-update-$VERSION
Depending on the source version, it is possible that the target version can't be reached directly. Then, run the commands above again until the desired target version is reached.
If a patch is installed with YUM/Zypper following log files are written (version 6.12.0 may vary):
If you want to install the patch files into $EPAGES_SHARED/Patches/patch_X_Y_Z/ but don't want to start the patch executing './patch.sh install', run (example for Redhat):
EPAGES_DO_PATCH=0 yum update 'epages-*' --disablerepo epages-setup --enablerepo epages-update
Then after installing the patch files, run following commands to install the patch itself:
cd $EPAGES_SHARED/Patches/patch_* ./patch.sh install
EPAGES_BACKUP_DIR= EPAGES_BACKUP_DB= yum update 'epages-*' --disablerepo epages-setup --enablerepo epages-update
EPAGES_PREREQ_INI=/tmp/prerequisits.ini yum update 'epages-*' --disablerepo epages-setup --enablerepo epages-update
EPAGES_PATCH_CONF=/path/to/Conf yum update 'epages-*' --disablerepo epages-setup --enablerepo epages-update
Read the prerequisits.ini file resp. the Conf/ directory provided by the patch to find customizable parameters.
ePages RPM packages are provided by following ePages repositories:
If (parts of) your ePages installation has no (firewall) or slow internet connection, you may want to mirror the ePages repository to a local machine and install ePages from the local repository. The following 3 steps show you how.
1. Create a copy of the epages repository on your local machine. Choose your preferred mirroring/synchronization tool. The following example uses lftp to synchonize ftp://epages-software.de/pub/products/RPMS with the local directory /opt/epages-repository (directory may vary):
cd /opt lftp -u ftp,ftp -e "mirror --delete --only-newer --verbose pub/products/RPMS epages-repository; quit" epages-software.de
2. Use the local repository for installing ePages:
/opt/epages-repository/rpmify/rpmify-epages.sh -repo /opt/epages-repository
3. Now you can do everything with zypper/yum as described in the document, e.g. install ePages from the local repository (Redhat version):
yum install @epages
The only difference to the official ePages repository is that the local repository isn't updated automatically. If you want to have your local repository up-to-date, run lftp (or your preferred mirror tool) once a month or so.
The -repo argument also allows any other http or ftp URL, so you can put your local repository on your http server for example.
For detailed instructions and examples for distributed installations see Linux Installation Guide: Distributed Installation
An ePages 6 system consists of 5 main components:
1. Choose 1 server as file server and run on it:
curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh /var/tmp/epages-fs.sh -share
2. On all other servers run (where FILESERVER is the name of the file server):
curl http://epages.com/RPMS/rpmify/rpmify-epages.sh | sh /var/tmp/epages-fs.sh -mount FILESERVER
3. (Optionally) Edit and start /etc/sysconfig/epages6:
vi /etc/sysconfig/epages6 . /etc/sysconfig/epages6
4. Install on each servers its components. Choose one/more of following command:
yum groupinstall epages-appsrv yum groupinstall epages-reqsrv yum groupinstall epages-mysqld yum groupinstall epages-webconf yum groupinstall epages-j
epages-j is only introduces with 6.14.0, don't use it if you want to install an older version.
5. Start ePages on each server (order: first on java server, then on web server/request router, then on database server, last on application server):
yum install epages-setup
You can patch distributed installation with yum/zypper only under very special circumstances, normally distributed installations are patched manually with the patch.tar.gz file.
You may patch a distributed installation with yum/zypper if the installation consists of only 2 servers: a) the database server and b) the host with all other services. Then, first run on the database server:
yum -y update 'epages-*' --disablerepo epages-setup --enablerepo epages-empty
Then run on the other server:
yum -y update 'epages-*' --disablerepo epages-setup --enablerepo epages-update
1. Run on each server but the file server:
/var/tmp/epages-fs.sh -unmount yum groupremove ...
... means all packages you installed with yum groupinstall ... before.
2. Run on the file server:
/var/tmp/epages-fs.sh -unshare yum groupremove ...
... means all packages you installed with yum groupinstall ... before.
You may remove ePages by executing (only for Redhat):
yum remove @epages
This does not remove ePages completely, changed files remain on the server. To remove ePages completely, run:
/var/epages/delete-epages.sh
This works also for SuSE and removes all ePages RPMs, files, users, and databases.
Problem:
http://epages.com/RPMS/6.12.0/i386/repodata/filelists.xml.gz: [Errno -1] Metadata file does not match checksum
Solution:
yum clean all
Problem:
yum install krb5-libs.i686 openssl.i686 openssl098e.i686 ... Error: Protected multilib versions: openssl-1.0.0-20.el6.i686 != openssl-1.0.0-10.el6_1.4.x86_64 Error: Protected multilib versions: krb5-libs-1.9-22.el6_2.1.i686 != krb5-libs-1.9-9.el6_1.1.x86_64 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
Solution:
yum install --setopt=protected_multilib=false krb5-libs.i686 openssl.i686 openssl098e.i686
Problem:
yum install openssl.i686 ... Transaction Check Error: file /usr/share/doc/openssl-1.0.0/README.FIPS from install of openssl-1.0.0-20.el6.i686 conflicts with file from package openssl-1.0.0-10.el6_1.4.x86_64 file /usr/share/man/man1/ca.1ssl.gz from install of openssl-1.0.0-20.el6.i686 conflicts with file from package openssl-1.0.0-10.el6_1.4.x86_64 file /usr/share/man/man1/openssl.1ssl.gz from install of openssl-1.0.0-20.el6.i686 conflicts with file from package openssl-1.0.0-10.el6_1.4.x86_64 file /usr/share/man/man1/req.1ssl.gz from install of openssl-1.0.0-20.el6.i686 conflicts with file from package openssl-1.0.0-10.el6_1.4.x86_64 file /usr/share/man/man1/x509.1ssl.gz from install of openssl-1.0.0-20.el6.i686 conflicts with file from package openssl-1.0.0-10.el6_1.4.x86_64
Solution 1 (preferred):
yum -y install yum-utils mkdir -p download && cd download yumdownloader --resolve openssl.i686 mv openssl-*.i686.rpm .. rpm -hUv *.rpm cd .. rpm -hiv --nodocs openssl-*.i686.rpm
Solution 2:
rpm -qa --qf '%{name}-%{version}-%{release}.%{arch}\n' 2>&1 | grep openssl # openssl-1.0.0-10.el6_1.4.x86_64 rpm -e --justdb --nodeps openssl-1.0.0-10.el6_1.4.x86_64 yum install krb5-libs.i686 openssl.i686 openssl098e.i686
Problem:
yum install @epages ... Total download size: 220 M Is this ok [y/N]: y Downloading Packages: Traceback (most recent call last): File "/usr/bin/yum", line 29, in ? yummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 229, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 181, in main return_code = base.doTransaction() File "/usr/share/yum-cli/cli.py", line 386, in doTransaction problems = self.downloadPkgs(downloadpkgs, callback_total=self.download_callback_total_cb) File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 1108, in downloadPkgs remote_size += po.size TypeError: unsupported operand type(s) for +=: 'int' and 'str'
Solution:
yum -y install yum-utils mkdir -p download && cd download yumdownloader --resolve yum-metadata-parser rpm -hiv --force yum-metadata-parser-*.el5.i386
Problem:
# zypper install graphviz Loading repository data... Reading installed packages... Resolving package dependencies... Problem: graphviz-2.20.2-6.19.x86_64 requires libXpm.so.4()(64bit), but this requirement cannot be provided uninstallable providers: xorg-x11-libXpm-7.4-1.17.x86_64[SMT-http_sles-reg_aul_t-online_de:SLES11-SP1-Pool] Solution 1: Following actions will be done: do not forbid installation of xorg-x11-libXpm-7.4-1.17.x86_64[SMT-http_sles-reg_aul_t-online_de:SLES11-SP1-Pool] do not forbid installation of xorg-x11-libXfixes-7.4-1.14.x86_64[SMT-http_sles-reg_aul_t-online_de:SLES11-SP1-Pool] do not forbid installation of xorg-x11-libXp-7.4-1.14.x86_64[SMT-http_sles-reg_aul_t-online_de:SLES11-SP1-Pool] do not forbid installation of xorg-x11-libXprintUtil-7.4-1.17.x86_64[SMT-http_sles-reg_aul_t-online_de:SLES11-SP1-Pool] do not forbid installation of xorg-x11-libXrender-7.4-1.14.x86_64[SMT-http_sles-reg_aul_t-online_de:SLES11-SP1-Pool] do not forbid installation of xorg-x11-libXv-7.4-1.14.x86_64[SMT-http_sles-reg_aul_t-online_de:SLES11-SP1-Pool] do not forbid installation of xorg-x11-libfontenc-7.4-1.15.x86_64[SMT-http_sles-reg_aul_t-online_de:SLES11-SP1-Pool] do not forbid installation of xorg-x11-libxkbfile-7.4-1.14.x86_64[SMT-http_sles-reg_aul_t-online_de:SLES11-SP1-Pool] Solution 2: do not install graphviz-2.20.2-6.19.x86_64 Solution 3: break graphviz-2.20.2-6.19.x86_64 by ignoring some of its dependencies
Solution:
Problem is that packages are locked, see 'Package Locks Management' in 'man zypper'.
Show all locks:
# zypper ll # | Name | Type | Repository ---+------------------------+---------+----------- 1 | libmysqlclient_r15 | package | (any) 2 | xorg-x11-libXfixes | package | (any) 3 | Mesa | package | (any) 4 | libqt4-sql-mysql | package | (any) 5 | xorg-x11-libXp | package | (any) 6 | xorg-x11-libXpm | package | (any) ...
Locks are defined in /etc/zypp/locks. Remove a lock (say number 6) by executing:
# zypper rl 6
Or remove all locks by deleting /etc/zypp/locks.