CentOS


CentOS 7: C++: static linking cannot find -lstdc++ -lm and -lc

Recently, we were trying to compile a C++ application with the following compilation command on a CentOS 7 64bit :

g++ -static -O2 -lm -Wall -Wno-unused-result -std=c++11 -DCS_ACADEMY -DONLINE_JUDGE 510152025.cpp -o 510152025;

unfortunately, we got the following errors:

 /usr/bin/ld: cannot find -lstdc++
 /usr/bin/ld: cannot find -lm
 /usr/bin/ld: cannot find -lc
 collect2: error: ld returned 1 exit status

To resolve the issues, we performed the following installations to install the static versions of the glibc and libstdc libraries:

sudo yum install glibc-static libstdc++-static -y;

 


CentOS 7: Setup a DHCP server and provide specific IP based on MAC address

Step 1: Install DHCP service

We installed the Dynamic host configuration protocol software (DHCP service) using the command:

yum install dhcp;

The dhcp package provides the ISC DHCP service and relay agent.

Step 2: Configure the DHCP service

Afterwards, we created the file /etc/dhcp/dhcpd.conf using the following content:

subnet 192.168.0.0 netmask 255.255.255.0 {
 option routers                  192.168.0.254;
 option subnet-mask              255.255.255.0;
 option domain-name              "bytefreaks.net";
 option domain-name-servers       192.168.0.1;
 option time-offset              -18000;     # Eastern Standard Time
 range 192.168.0.90 192.168.0.99;
}

host coolServer {
 hardware ethernet 0e:e0:4b:b4:28:82;
 fixed-address 192.168.0.80;
}

This configuration allowed us to provide a DHCP service to the network for the subdomain 192.168.0.x with the range [90,99].
Also, we statically defined the IP for our coolServer using a filter based on the MAC address of the machine.
If you do not want to provide any range, only static IPs, then comment out (#) the line that starts with the word range .

Step 3: Start DHCP service

systemctl start dhcpd.service;

Step 4: Check the status of DHCP service

systemctl status dhcpd.service;

It is a good idea to verify that there are no errors, so be sure to check the status of the service.
You can ignore the error that says “you did not define a subnet declaration for all devices” if you do not really need to do it.

Step 5: Permanently enable the DHCP service

systemctl enable dhcpd.service;

Additional:

Disable the DHCP service

systemctl disable dhcpd.service;

Stop the DHCP service

systemctl stop dhcpd.service;


NTFS Support on CentOS 7

Solution

sudo yum --enablerepo=extras install epel-release;
sudo yum install ntfs-3g -y;

Background – Explanation of commands

By default, CentOS does not have installed the necessary drivers to mount ntfs drives.

sudo yum --enablerepo=extras install epel-release;

To install them, you need to enable the Extra Packages for Enterprise Linux (EPEL).

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Linux (OL).

EPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.

From: https://fedoraproject.org/wiki/EPEL

You can install EPEL by running yum --enablerepo=extras install epel-release. The epel-release package is included in the CentOS Extras repository that is enabled by default. The package includes gpg keys for package signing and repository information. Installing this package for your Enterprise Linux version should allow you to use normal tools such as yum to install packages and their dependencies.

sudo yum install ntfs-3g -y;

After you’ve enabled the repository, you should be able to install the Linux NTFS userspace driver packaged in ntfs-3g. ntfs-3g is a stable, open source, GPL licensed, POSIX, read/write NTFS driver for Linux and many other operating systems. It provides safe handling of the Windows XP, Windows Server 2003, Windows 2000, Windows Vista, Windows Server 2008 and Windows 7 NTFS file systems. NTFS-3G can create, remove, rename, move files, directories, hard links, and streams; it can read and write normal and transparently compressed files, including streams and sparse files; it can handle special files like symbolic links, devices, and FIFOs, ACL, extended attributes; moreover it provides full file access right and ownership support.

To install it, we used the following command: yum install ntfs-3g -y.


How To Install on GNU/Linux CentOS 7 the LAMP stack (Apache, MySQL, PHP) + phpMyAdmin

Following you will find the commands to perform the installation of the LAMP stack (Apache, MySQL, PHP) and phpMyAdmin on a GNU/Linux CentOS 7.
In this guide we kept the information to the bare minimum about what is what.

Installation

To perform the installation, please execute the following as a user with administrative rights:

#Update your system
sudo yum update -y;
#Install Apache, MariaDB (MySQL), PHP (with MySQL support and phpMyAdmin which is a free software tool written in PHP, intended to handle the administration of MySQL over the Web)
sudo yum install httpd mariadb-server mariadb php php-mysql phpmyadmin -y;
#Start Apache (PHP will start with Apache as module)
sudo systemctl start httpd;
#Enable Apache to start on boot
sudo systemctl enable httpd;
#Start MariaDB(MySQL)
sudo systemctl start mariadb;
#Enable MariaDB(MySQL) to start on boot
sudo systemctl enable mariadb;

Configuration of MariaDB (MySQL)

By now, your system should have all necessary packages installed and the services up and running.
Now it is best to configure your MariaDB (MySQL) in a way to disable some test data and test accounts and assign a password to your root user.
Execute the following to do so:

sudo mysql_secure_installation;

This tool will ask you for your current database root password. Since you just installed MariaDB (MySQL) you should not have one, so leave the field empty and press enter.
We recommend to answer with Y (Yes) in all of the security questions of this tool and set a strong password for your root user.

sudo mysql_secure_installation;

Following is the output we got from this tool:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
 SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
 password for the root user.  If you've just installed MariaDB, and
 you haven't set the root password yet, the password will be blank,
 so you should just press enter here.

Enter current password for root (enter for none):
 OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
 root user without the proper authorisation.

Set root password? [Y/n] Y
 New password:
 Re-enter new password:
 Password updated successfully!
 Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
 to log into MariaDB without having to have a user account created for
 them.  This is intended only for testing, and to make the installation
 go a bit smoother.  You should remove them before moving into a
 production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
 ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
 access.  This is also intended only for testing, and should be removed
 before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
 will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
 installation should now be secure.

Thanks for using MariaDB!

Configuration of the firewall

Executing the following will enable access to your web-server from the network for http and https.

sudo firewall-cmd --permanent --zone=public --add-service=http;
sudo firewall-cmd --permanent --zone=public --add-service=https;
sudo firewall-cmd --reload;

Location of files / Where to upload your website

In CentOS 7, the directory where the website pages are located is at /var/www/html/.
You can place your html and php code there.

Configuration of phpMyAdmin

phpMyAdmin should be available at http://<IP of the web server>/phpmyadmin
The access to phpMyAdmin is controlled by the Apache Virtual Host File for phpMyAdmin that is found here /etc/httpd/conf.d/phpMyAdmin.conf.
By default, this configuration file only allows access to phpMyAdmin from the localhost (127.0.0.1).
In case you want to access it from another machine, you need to modify this file.
Before doing any changes, make a backup of the original file first:

 sudo cp /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.original;

To enable access only for a specific IP

Edit the Apache Virtual Host File for phpMyAdmin (/etc/httpd/conf.d/phpMyAdmin.conf) and change every reference of 127.0.0.1 with the IP address of the machine you want to give access to.

There should be four lines that you need to change.
In our installation it was the following lines:

  1. 17Require ip 127.0.0.1
  2. 25Allow from 127.0.0.1
  3. 34Require ip 127.0.0.1
  4. 42Allow from 127.0.0.1

Then restart the Apache service to apply the changes:

sudo systemctl restart httpd;

To enable access to any IP

Delete the existing file and create a new one.

sudo rm /etc/httpd/conf.d/phpMyAdmin.conf;
sudo touch /etc/httpd/conf.d/phpMyAdmin.conf;

Using the editor of your choice add the following content and save it:

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
 AllowOverride None
 Options None
 Allow from All
 Require all granted
</Directory>

Then restart the Apache service to apply the changes:

sudo systemctl restart httpd;

Following is the original content of our Apache Virtual Host File for phpMyAdmin (/etc/httpd/conf.d/phpMyAdmin.conf)

phpMyAdmin.conf (compressed) (9 downloads)

$ cat /etc/httpd/conf.d/phpMyAdmin.conf
 # phpMyAdmin - Web based MySQL browser written in php
 #
 # Allows only localhost by default
 #
 # But allowing phpMyAdmin to anyone other than localhost should be considered
 # dangerous unless properly secured by SSL

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
 AddDefaultCharset UTF-8

 <IfModule mod_authz_core.c>
  # Apache 2.4
  <RequireAny>
   Require ip 192.168.0.20
   Require ip ::1
  </RequireAny>
 </IfModule>
 <IfModule !mod_authz_core.c>
  # Apache 2.2
  Order Deny,Allow
  Deny from All
  Allow from 192.168.0.20
  Allow from ::1
  </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
 <IfModule mod_authz_core.c>
  # Apache 2.4
  <RequireAny>
   Require ip 192.168.0.20
   Require ip ::1
  </RequireAny>
 </IfModule>
 <IfModule !mod_authz_core.c>
  # Apache 2.2
  Order Deny,Allow
  Deny from All
  Allow from 192.168.0.20
  Allow from ::1
 </IfModule>
</Directory>

# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
 <Directory /usr/share/phpMyAdmin/libraries/>
  Order Deny,Allow
  Deny from All
  Allow from None
 </Directory>

<Directory /usr/share/phpMyAdmin/setup/lib/>
  Order Deny,Allow
  Deny from All
  Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/frames/>
 Order Deny,Allow
 Deny from All
 Allow from None
</Directory>

# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc.  This may break your mod_security implementation.
#
#<IfModule mod_security.c>
#    <Directory /usr/share/phpMyAdmin/>
#        SecRuleInheritance Off
#    </Directory>
#</IfModule>

phpMyAdmin.conf (compressed) (9 downloads)


CentOS: prevent eth0 from starting at boot time

On a CentOS server we own, we had to disable eth0 from starting at boot time
To do so we needed to modify the file /etc/sysconfig/network-scripts/ifcfg-eth0 and set the value ONBOOT="yes" to ONBOOT="no".

Using you favorite text editor, make this change and restart your machine to verify that the change was successful.

Below is the sample content of /etc/sysconfig/network-scripts/ifcfg-eth0 after the change was applied to prevent eth0 from starting at boot time.

  GNU nano 2.3.1                File: /etc/sysconfig/network-scripts/ifcfg-eth0                             Modified

TYPE="Ethernet"
 BOOTPROTO=dhcp
 DEFROUTE="yes"
 IPV4_FAILURE_FATAL="no"
 IPV6INIT="yes"
 IPV6_AUTOCONF="yes"
 IPV6_DEFROUTE="yes"
 IPV6_FAILURE_FATAL="no"
 NAME="eth0"
 UUID="792d6842-221d-5c99-ba98-cddbba4ff263"
 ONBOOT="no"
 HWADDR="00:AA:5D:01:22:2B"
 DNS1="10.15.10.5"
 DOMAIN="bytefreaks.local"
 IPADDR=10.15.10.249
 PREFIX=24
 GATEWAY=10.15.10.1
 PEERDNS=yes
 PEERROUTES=yes
 IPV6_PEERDNS=yes
 IPV6_PEERROUTES=yes

How to Start/Stop or Enable/Disable firewalld on CentOS 7

firewalld (Dynamic Firewall Manager) tool provides a dynamically managed firewall. The tool enables network/firewall zones to define the trust level of network connections and/or interfaces. It has support both for IPv4 and IPv6 firewall settings. Also, it supports Ethernet bridges and allow you to separate between runtime and permanent configuration options. Finally, it supports an interface for services or applications to add firewall rules directly.

Disable firewalld

To disable firewalld, execute the following command as root or using sudo:

systemctl disable firewalld

Enable firewalld

To enable firewalld, execute the following command as root or using sudo:

systemctl enable firewalld

Stop firewalld

To stop (or deactivate) firewalld,execute the following command as root or using sudo:

systemctl stop firewalld

Start firewalld

To start (or activate) firewalld, execute the following command as root or using sudo:

systemctl start firewalld

Status of firewalld

To check the status of firewalld, execute the following command as root or using sudo:

systemctl status firewalld

CONCEPTS

systemd provides a dependency system between various entities called “units” of 12 different types. Units encapsulate various objects that are relevant for system boot-up and maintenance. The majority of units are configured in unit configuration files, whose syntax and basic set of options is described in systemd.unit(5), however some are created automatically from other configuration, dynamically from system state or programmatically at runtime. Units may be “active” (meaning started, bound, plugged in, …, depending on the unit type, see below), or “inactive” (meaning stopped, unbound, unplugged, …), as well as in the process of being activated or deactivated, i.e. between the two states (these states are called “activating”, “deactivating”). A special “failed” state is available as well, which is very similar to “inactive” and is entered when the service failed in some way (process returned error code on exit, or crashed, or an operation timed out). If this state is entered, the cause will be logged, for later reference. Note that the various unit types may have a number of additional substates, which are mapped to the five generalized unit states described here.
— From man systemd

The above, in a nutshell:

  • enabled is a service that is configured to start when the system boots
  • disabled is a service that is configured to not start when the system boots
  • active is a service that is currently running
  • inactive is a service that is currently stopped and may be disabled, but it can be started and become active

Downgrade GNU patch on CentOS 7.0 (64bit) to version 2.6.1

Recently we had to download GNU patch from version 2.7.1 to any version less than version 2.7 series.
We used patch version 2.6.1 which is the latest in the version 2.6 series.

We were trying to compile Linux Kernel 3.0.35 source code with some custom patches.
While applying the patches we got the following errors:

File firmware/imx/sdma/sdma-imx25-to1.bin: git binary diffs are not supported.
File firmware/imx/sdma/sdma-imx31-to1.bin: git binary diffs are not supported.
File firmware/imx/sdma/sdma-imx31-to2.bin: git binary diffs are not supported.
File firmware/imx/sdma/sdma-imx35-to1.bin: git binary diffs are not supported.
File firmware/imx/sdma/sdma-imx35-to2.bin: git binary diffs are not supported.
File firmware/imx/sdma/sdma-imx50-to1.bin: git binary diffs are not supported.
File firmware/imx/sdma/sdma-imx51-to3.bin: git binary diffs are not supported.
File firmware/imx/sdma/sdma-imx53-to1.bin: git binary diffs are not supported.

Apparently, version 2.7 does not support binary diffs.
We can verify this claim from the release announcement.

Support for most features of the “diff –git” format, including renames and copies, permission changes, and symlink diffs. Binary diffs are not supported yet; patch will complain and skip them.

Methodology

#Making sure we are not missing any 32bit libraries since we are on a 64bit machine
yum install glibc.i686 ncurses-libs.i686;
#Download the source code
wget ftp://ftp.gnu.org/gnu/patch/patch-2.6.1.tar.gz;
#Extract the files
tar -zxf patch-2.6.1.tar.gz;
#Navigate to the folder
cd patch-2.6.1;
#Configure the installation and make all necessary checks
./configure;
#Build
make;
#Remove existing version
sudo yum remove patch -y;
#Install
sudo make install;


Installing Jenkins on Red Hat (CentOS 7 64bit) distributions

Following the official guides:

We tried to install Jenkins using the RPM repositories.

sudo yum install java -y;
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo;
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key;
sudo yum install jenkins -y;

Unfortunately, that resulted in an error:

warning: /var/cache/yum/x86_64/7/jenkins/packages/jenkins-2.19.2-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY

Public key for jenkins-2.19.2-1.1.noarch.rpm is not installed

Apparently, sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key; failed silently and it did not import the key.

To verify, we executed rpm -qa gpg-pubkey* to display a list of all keys installed for RPM verification. From that list we wanted to see if any of the keys was the one needed by jenkins which should end with the value d50582e6. Since none of them matched, we tried to manually re-import it which failed again.

Our Solution

Our solution, although ugly, was to disable  PGP verification in the file /etc/yum.repos.d/jenkins.repo.

[jenkins]
name=Jenkins-stable
baseurl=http://pkg.jenkins.io/redhat-stable
gpgcheck=0

That was enough to allow us to install the package using:

sudo yum install jenkins -y;

Finally, we started jenkins using sudo service jenkins start;.

Logs from failed installation

[[email protected] ~]$ sudo yum install jenkins -y
[sudo] password for bytefreaks:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.coreix.net
* extras: mirrors.coreix.net
* updates: mirrors.coreix.net
Resolving Dependencies
--> Running transaction check
---> Package jenkins.noarch 0:2.19.2-1.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================================================================================================================
Package                                                Arch                                                  Version                                                     Repository                                              Size
=======================================================================================================================================================================================================================================
Installing:
jenkins                                                noarch                                                2.19.2-1.1                                                  jenkins                                                 66 M

Transaction Summary
=======================================================================================================================================================================================================================================
Install  1 Package

Total size: 66 M
Installed size: 67 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/jenkins/packages/jenkins-2.19.2-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY


Public key for jenkins-2.19.2-1.1.noarch.rpm is not installed


Install terminator in CentOS 7 (64bit)

We installed CentOS 7 (64bit) using this ISO, which we downloaded from http://vault.centos.org/7.1.1503/isos/x86_64/

Once we got the OS started, we executed yum update -y to update all installed packages that were older than the versions in the repositories.
After the update process was complete, we then tried to install terminator using yum.

The Problem

Executing yum install -y terminator resulted in an error:

Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirror.us.leaseweb.net
* extras: mirror.us.leaseweb.net
* updates: mirror.us.leaseweb.net
No package terminator available.
Error: Nothing to do

Solution

To solve the problem we needed to install the Extra Packages for Enterprise Linux (EPEL) repository using yum install -y epel-release.

After the installation was done, we executed yum install -y terminator once more and the installation of terminator succeeded.

Example Logs

Following is the full log from the terminal, showing the correct completion of the installation

[[email protected] bytefreaks]# yum install terminator
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.us.leaseweb.net
 * extras: mirror.us.leaseweb.net
 * updates: mirror.us.leaseweb.net
No package terminator available.
Error: Nothing to do
[[email protected] bytefreaks]# yum install -y epel-release
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.us.leaseweb.net
 * extras: mirror.us.leaseweb.net
 * updates: mirror.us.leaseweb.net
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================
 Package                        Arch                     Version                 Repository                Size
================================================================================================================
Installing:
 epel-release                   noarch                   7-6                     extras                    14 k

Transaction Summary
================================================================================================================
Install  1 Package

Total download size: 14 k
Installed size: 24 k
Downloading packages:
epel-release-7-6.noarch.rpm                                                              |  14 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : epel-release-7-6.noarch                                                                      1/1 
  Verifying  : epel-release-7-6.noarch                                                                      1/1 

Installed:
  epel-release.noarch 0:7-6                                                                                     

Complete!
[[email protected] bytefreaks]# yum install terminator -y
Loaded plugins: fastestmirror, langpacks
epel/x86_64/metalink                                                                     |  23 kB  00:00:00     
epel                                                                                     | 4.3 kB  00:00:00     
(1/3): epel/x86_64/group_gz                                                              | 170 kB  00:00:01     
epel/x86_64/primary_db         FAILED                                          
https://ftp.fau.de/epel/7/x86_64/repodata/e11482622ec75721199897552409e0b0b1d6fd798be905c88014f539d027efec-primary.sqlite.xz: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/

(2/3): epel/x86_64/primary_db                                                            | 4.3 MB  00:00:12     
(3/3): epel/x86_64/updateinfo                                                            | 674 kB  00:00:18     
Loading mirror speeds from cached hostfile
 * base: mirror.us.leaseweb.net
 * epel: mirror.de.leaseweb.net
 * extras: mirror.us.leaseweb.net
 * updates: mirror.us.leaseweb.net
Resolving Dependencies
--> Running transaction check
---> Package terminator.noarch 0:0.98-3.el7 will be installed
--> Processing Dependency: vte for package: terminator-0.98-3.el7.noarch
--> Processing Dependency: python-psutil for package: terminator-0.98-3.el7.noarch
--> Processing Dependency: python-keybinder for package: terminator-0.98-3.el7.noarch
--> Processing Dependency: gnome-python2-gconf for package: terminator-0.98-3.el7.noarch
--> Processing Dependency: gnome-python2-bonobo for package: terminator-0.98-3.el7.noarch
--> Running transaction check
---> Package gnome-python2-bonobo.x86_64 0:2.28.1-14.el7 will be installed
--> Processing Dependency: gnome-python2-canvas(x86-64) = 2.28.1-14.el7 for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: gnome-python2(x86-64) = 2.28.1-14.el7 for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: pyorbit(x86-64) >= 2.0.1 for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: libbonoboui(x86-64) >= 2.8.0 for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: libbonobo(x86-64) >= 2.8.0 for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: libgnomecanvas-2.so.0()(64bit) for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: libgnome-2.so.0()(64bit) for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: libbonoboui-2.so.0()(64bit) for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: libbonobo-activation.so.4()(64bit) for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: libbonobo-2.so.0()(64bit) for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: libart_lgpl_2.so.2()(64bit) for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
--> Processing Dependency: libORBit-2.so.0()(64bit) for package: gnome-python2-bonobo-2.28.1-14.el7.x86_64
---> Package gnome-python2-gconf.x86_64 0:2.28.1-14.el7 will be installed
---> Package python-keybinder.x86_64 0:0.3.1-1.el7 will be installed
--> Processing Dependency: keybinder = 0.3.1-1.el7 for package: python-keybinder-0.3.1-1.el7.x86_64
--> Processing Dependency: libkeybinder.so.0()(64bit) for package: python-keybinder-0.3.1-1.el7.x86_64
---> Package python-psutil.x86_64 0:2.2.1-1.el7 will be installed
---> Package vte.x86_64 0:0.28.2-10.el7 will be installed
--> Running transaction check
---> Package ORBit2.x86_64 0:2.14.19-13.el7 will be installed
--> Processing Dependency: libIDL-2.so.0()(64bit) for package: ORBit2-2.14.19-13.el7.x86_64
---> Package gnome-python2.x86_64 0:2.28.1-14.el7 will be installed
---> Package gnome-python2-canvas.x86_64 0:2.28.1-14.el7 will be installed
---> Package keybinder.x86_64 0:0.3.1-1.el7 will be installed
---> Package libart_lgpl.x86_64 0:2.3.21-10.el7 will be installed
---> Package libbonobo.x86_64 0:2.32.1-7.el7 will be installed
---> Package libbonoboui.x86_64 0:2.24.5-7.el7 will be installed
---> Package libgnome.x86_64 0:2.32.1-9.el7 will be installed
--> Processing Dependency: libgnomevfs-2.so.0()(64bit) for package: libgnome-2.32.1-9.el7.x86_64
---> Package libgnomecanvas.x86_64 0:2.30.3-8.el7 will be installed
---> Package pyorbit.x86_64 0:2.24.0-15.el7 will be installed
--> Running transaction check
---> Package gnome-vfs2.x86_64 0:2.24.4-14.el7 will be installed
--> Processing Dependency: libfam.so.0()(64bit) for package: gnome-vfs2-2.24.4-14.el7.x86_64
---> Package libIDL.x86_64 0:0.8.14-8.el7 will be installed
--> Running transaction check
---> Package gamin.x86_64 0:0.1.10-16.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================
 Package                            Arch                 Version                       Repository          Size
================================================================================================================
Installing:
 terminator                         noarch               0.98-3.el7                    epel               3.4 M
Installing for dependencies:
 ORBit2                             x86_64               2.14.19-13.el7                base               176 k
 gamin                              x86_64               0.1.10-16.el7                 base               128 k
 gnome-python2                      x86_64               2.28.1-14.el7                 base                47 k
 gnome-python2-bonobo               x86_64               2.28.1-14.el7                 base                87 k
 gnome-python2-canvas               x86_64               2.28.1-14.el7                 base                34 k
 gnome-python2-gconf                x86_64               2.28.1-14.el7                 base                46 k
 gnome-vfs2                         x86_64               2.24.4-14.el7                 base               839 k
 keybinder                          x86_64               0.3.1-1.el7                   epel                15 k
 libIDL                             x86_64               0.8.14-8.el7                  base                87 k
 libart_lgpl                        x86_64               2.3.21-10.el7                 base                67 k
 libbonobo                          x86_64               2.32.1-7.el7                  base               437 k
 libbonoboui                        x86_64               2.24.5-7.el7                  base               342 k
 libgnome                           x86_64               2.32.1-9.el7                  base               741 k
 libgnomecanvas                     x86_64               2.30.3-8.el7                  base               226 k
 pyorbit                            x86_64               2.24.0-15.el7                 base                51 k
 python-keybinder                   x86_64               0.3.1-1.el7                   epel                19 k
 python-psutil                      x86_64               2.2.1-1.el7                   epel               114 k
 vte                                x86_64               0.28.2-10.el7                 epel               361 k

Transaction Summary
================================================================================================================
Install  1 Package (+18 Dependent packages)

Total download size: 7.1 M
Installed size: 27 M
Downloading packages:
(1/19): gnome-python2-2.28.1-14.el7.x86_64.rpm                                           |  47 kB  00:00:02     
(2/19): gnome-python2-canvas-2.28.1-14.el7.x86_64.rpm                                    |  34 kB  00:00:02     
(3/19): ORBit2-2.14.19-13.el7.x86_64.rpm                                                 | 176 kB  00:00:02     
(4/19): gnome-python2-gconf-2.28.1-14.el7.x86_64.rpm                                     |  46 kB  00:00:01     
(5/19): libIDL-0.8.14-8.el7.x86_64.rpm                                                   |  87 kB  00:00:00     
warning: /var/cache/yum/x86_64/7/epel/packages/keybinder-0.3.1-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Public key for keybinder-0.3.1-1.el7.x86_64.rpm is not installed
(6/19): keybinder-0.3.1-1.el7.x86_64.rpm                                                 |  15 kB  00:00:02     
(7/19): libart_lgpl-2.3.21-10.el7.x86_64.rpm                                             |  67 kB  00:00:01     
(8/19): gnome-vfs2-2.24.4-14.el7.x86_64.rpm                                              | 839 kB  00:00:03     
(9/19): gamin-0.1.10-16.el7.x86_64.rpm                                                   | 128 kB  00:00:07     
(10/19): libgnome-2.32.1-9.el7.x86_64.rpm                                                | 741 kB  00:00:01     
(11/19): libbonoboui-2.24.5-7.el7.x86_64.rpm                                             | 342 kB  00:00:02     
(12/19): pyorbit-2.24.0-15.el7.x86_64.rpm                                                |  51 kB  00:00:00     
(13/19): libbonobo-2.32.1-7.el7.x86_64.rpm                                               | 437 kB  00:00:02     
(14/19): python-keybinder-0.3.1-1.el7.x86_64.rpm                                         |  19 kB  00:00:00     
(15/19): gnome-python2-bonobo-2.28.1-14.el7.x86_64.rpm                                   |  87 kB  00:00:08     
(16/19): python-psutil-2.2.1-1.el7.x86_64.rpm                                            | 114 kB  00:00:00     
(17/19): vte-0.28.2-10.el7.x86_64.rpm                                                    | 361 kB  00:00:01     
(18/19): libgnomecanvas-2.30.3-8.el7.x86_64.rpm                                          | 226 kB  00:00:03     
(19/19): terminator-0.98-3.el7.noarch.rpm                                                | 3.4 MB  00:00:05     
----------------------------------------------------------------------------------------------------------------
Total                                                                           524 kB/s | 7.1 MB  00:00:13     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) <[email protected]>"
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-6.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libart_lgpl-2.3.21-10.el7.x86_64                                                            1/19 
  Installing : libgnomecanvas-2.30.3-8.el7.x86_64                                                          2/19 
  Installing : gnome-python2-2.28.1-14.el7.x86_64                                                          3/19 
  Installing : libIDL-0.8.14-8.el7.x86_64                                                                  4/19 
  Installing : ORBit2-2.14.19-13.el7.x86_64                                                                5/19 
  Installing : libbonobo-2.32.1-7.el7.x86_64                                                               6/19 
  Installing : pyorbit-2.24.0-15.el7.x86_64                                                                7/19 
  Installing : gnome-python2-gconf-2.28.1-14.el7.x86_64                                                    8/19 
  Installing : gnome-python2-canvas-2.28.1-14.el7.x86_64                                                   9/19 
  Installing : vte-0.28.2-10.el7.x86_64                                                                   10/19 
  Installing : keybinder-0.3.1-1.el7.x86_64                                                               11/19 
  Installing : python-keybinder-0.3.1-1.el7.x86_64                                                        12/19 
  Installing : python-psutil-2.2.1-1.el7.x86_64                                                           13/19 
  Installing : gamin-0.1.10-16.el7.x86_64                                                                 14/19 
  Installing : gnome-vfs2-2.24.4-14.el7.x86_64                                                            15/19 
  Installing : libgnome-2.32.1-9.el7.x86_64                                                               16/19 
  Installing : libbonoboui-2.24.5-7.el7.x86_64                                                            17/19 
  Installing : gnome-python2-bonobo-2.28.1-14.el7.x86_64                                                  18/19 
  Installing : terminator-0.98-3.el7.noarch                                                               19/19 
  Verifying  : libbonobo-2.32.1-7.el7.x86_64                                                               1/19 
  Verifying  : libgnome-2.32.1-9.el7.x86_64                                                                2/19 
  Verifying  : libgnomecanvas-2.30.3-8.el7.x86_64                                                          3/19 
  Verifying  : gamin-0.1.10-16.el7.x86_64                                                                  4/19 
  Verifying  : libIDL-0.8.14-8.el7.x86_64                                                                  5/19 
  Verifying  : gnome-python2-gconf-2.28.1-14.el7.x86_64                                                    6/19 
  Verifying  : gnome-python2-canvas-2.28.1-14.el7.x86_64                                                   7/19 
  Verifying  : python-psutil-2.2.1-1.el7.x86_64                                                            8/19 
  Verifying  : keybinder-0.3.1-1.el7.x86_64                                                                9/19 
  Verifying  : terminator-0.98-3.el7.noarch                                                               10/19 
  Verifying  : python-keybinder-0.3.1-1.el7.x86_64                                                        11/19 
  Verifying  : libbonoboui-2.24.5-7.el7.x86_64                                                            12/19 
  Verifying  : vte-0.28.2-10.el7.x86_64                                                                   13/19 
  Verifying  : gnome-vfs2-2.24.4-14.el7.x86_64                                                            14/19 
  Verifying  : ORBit2-2.14.19-13.el7.x86_64                                                               15/19 
  Verifying  : pyorbit-2.24.0-15.el7.x86_64                                                               16/19 
  Verifying  : gnome-python2-2.28.1-14.el7.x86_64                                                         17/19 
  Verifying  : gnome-python2-bonobo-2.28.1-14.el7.x86_64                                                  18/19 
  Verifying  : libart_lgpl-2.3.21-10.el7.x86_64                                                           19/19 

Installed:
  terminator.noarch 0:0.98-3.el7                                                                                

Dependency Installed:
  ORBit2.x86_64 0:2.14.19-13.el7                         gamin.x86_64 0:0.1.10-16.el7                          
  gnome-python2.x86_64 0:2.28.1-14.el7                   gnome-python2-bonobo.x86_64 0:2.28.1-14.el7           
  gnome-python2-canvas.x86_64 0:2.28.1-14.el7            gnome-python2-gconf.x86_64 0:2.28.1-14.el7            
  gnome-vfs2.x86_64 0:2.24.4-14.el7                      keybinder.x86_64 0:0.3.1-1.el7                        
  libIDL.x86_64 0:0.8.14-8.el7                           libart_lgpl.x86_64 0:2.3.21-10.el7                    
  libbonobo.x86_64 0:2.32.1-7.el7                        libbonoboui.x86_64 0:2.24.5-7.el7                     
  libgnome.x86_64 0:2.32.1-9.el7                         libgnomecanvas.x86_64 0:2.30.3-8.el7                  
  pyorbit.x86_64 0:2.24.0-15.el7                         python-keybinder.x86_64 0:0.3.1-1.el7                 
  python-psutil.x86_64 0:2.2.1-1.el7                     vte.x86_64 0:0.28.2-10.el7                            

Complete!


Install terminator in CentOS 6.5 (64bit)

We installed CentOS 6.5 (64bit) using this ISO, which we downloaded from http://vault.centos.org/6.5/isos/x86_64/

Once we got the OS started, we executed yum update -y to update all installed packages that were older than the versions in the repositories.
After the update process was complete, we then tried to install terminator using yum.

Executing yum install -y terminator resulted in an error:

Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirror.us.leaseweb.net
* extras: mirror.us.leaseweb.net
* updates: mirror.us.leaseweb.net
No package terminator available.
Error: Nothing to do

To solve the problem we needed to install the Extra Packages for Enterprise Linux (EPEL) repository using yum install -y epel-release.

After the installation was done, we executed yum install -y terminator once more and the installation of terminator succeeded.