Posts Tagged ‘com’

Listing installed RPMs by vendor installed on CentOS / RedHat Linux

Friday, January 8th, 2021

Reading Time: 3minutes

Listing installed RPMs by vendor installed on CentOS / RedHat Linux

Listing installed RPMs by vendor is useful sysadmin stuff if you have third party software installed that is not part of official CentOS / RedHat Linux and you want to only list this packages, here is how this is done


[root@redhat ~]# rpm -qa –qf '%{NAME} %{VENDOR} %{PACKAGER} \n' | grep -v 'CentOS' | sort

criu Virtuozzo Virtuozzo (
gskcrypt64 IBM IBM
gskssl64 IBM IBM
ipxe-roms-qemu Virtuozzo Virtuozzo (
libevent (none) (none)
libguestfs-appliance Virtuozzo Virtuozzo (
libguestfs-tools-c Virtuozzo Virtuozzo (
libguestfs Virtuozzo Virtuozzo (
libprlcommon Virtuozzo Virtuozzo (
libprlsdk-python Virtuozzo Virtuozzo (
libprlsdk Virtuozzo Virtuozzo (
libprlxmlmodel Virtuozzo Virtuozzo (
libtcmu Virtuozzo Virtuozzo (
libvcmmd Virtuozzo Virtuozzo (
libvirt-client Virtuozzo Virtuozzo (
libvirt-daemon-config-nwfilter Virtuozzo Virtuozzo (
libvirt-daemon-driver-interface Virtuozzo Virtuozzo (
libvirt-daemon-driver-network Virtuozzo Virtuozzo (
libvirt-daemon-driver-nodedev Virtuozzo Virtuozzo (
libvirt-daemon-driver-nwfilter Virtuozzo Virtuozzo (
libvirt-daemon-driver-qemu Virtuozzo Virtuozzo (
libvirt-daemon-driver-storage-core Virtuozzo Virtuozzo (
libvirt-daemon-driver-storage Virtuozzo Virtuozzo (
libvirt-daemon-kvm Virtuozzo Virtuozzo (
libvirt-daemon Virtuozzo Virtuozzo (
libvirt-libs Virtuozzo Virtuozzo (
libvirt-python Virtuozzo Virtuozzo (
libvirt Virtuozzo Virtuozzo (
libvzctl Virtuozzo Virtuozzo (
libvzevent Virtuozzo Virtuozzo (
openvz-logos Virtuozzo Virtuozzo (
p7zip-plugins Fedora Project Fedora Project
ploop-lib Virtuozzo Virtuozzo (
ploop Virtuozzo Virtuozzo (
prlctl Virtuozzo Virtuozzo (
prl-disk-tool Virtuozzo Virtuozzo (
prl-disp-service Virtuozzo Virtuozzo (
python2-lockfile Fedora Project Fedora Project
python2-psutil Fedora Project Fedora Project
python-daemon Fedora Project Fedora Project
python-subprocess32 Virtuozzo Virtuozzo (
qemu-img-vz Virtuozzo Virtuozzo (
qemu-kvm-common-vz Virtuozzo Virtuozzo (
qemu-kvm-vz Virtuozzo Virtuozzo (
qt Virtuozzo Virtuozzo (
rkhunter Fedora Project Fedora Project
seabios-bin Virtuozzo Virtuozzo (
seavgabios-bin Virtuozzo Virtuozzo (
spfs Virtuozzo Virtuozzo (
TIVsm-API64 IBM (none)
TIVsm-APIcit IBM (none)
TIVsm-BAcit IBM (none)
TIVsm-BA IBM (none)
vcmmd Virtuozzo Virtuozzo (
vmauth Virtuozzo Virtuozzo (
vzctl Virtuozzo Virtuozzo (
vzkernel Virtuozzo Virtuozzo (
vzkernel Virtuozzo Virtuozzo (
vztt_checker Virtuozzo Virtuozzo (
vztt_checker Virtuozzo Virtuozzo (
vztt-lib Virtuozzo Virtuozzo (
vztt Virtuozzo Virtuozzo (
zabbix-agent (none) (none)


That instructs rpm to output each package's name and vendor, then we exclude those from "Red Hat, Inc." (which is the exact string Red Hat conveniently uses in the "vendor" field of all RPMs they pacakge).

By default, rpm -qa uses the format '%{NAME}-%{VERSION}-%{RELEASE}', and it's nice to see version and release, and on 64-bit systems, it's also nice to see the architecture since both 32- and 64-bit packages are often installed. Here's how I did that:

[root@redhat ~]# rpm -qa –qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH} %{VENDOR} %{PACKAGER} \n' | grep -v 'CentOS' | sort

criu- Virtuozzo Virtuozzo (
gskcrypt64-8.0-55.17.x86_64 IBM IBM
gskssl64-8.0-55.17.x86_64 IBM IBM
ipxe-roms-qemu-20170123-1.git4e85b27.1.vz7.5.noarch Virtuozzo Virtuozzo (
libevent-2.0.22-1.rhel7.x86_64 (none) (none)
libguestfs-1.36.10-6.2.vz7.12.x86_64 Virtuozzo Virtuozzo (
libguestfs-appliance-1.36.10-6.2.vz7.12.x86_64 Virtuozzo Virtuozzo (
libguestfs-tools-c-1.36.10-6.2.vz7.12.x86_64 Virtuozzo Virtuozzo (
libprlcommon-7.0.162-1.vz7.x86_64 Virtuozzo Virtuozzo (
libprlsdk-7.0.226-2.vz7.x86_64 Virtuozzo Virtuozzo (
libprlsdk-python-7.0.226-2.vz7.x86_64 Virtuozzo Virtuozzo (
libprlxmlmodel-7.0.80-1.vz7.x86_64 Virtuozzo Virtuozzo (
libtcmu-1.2.0-16.2.vz7.x86_64 Virtuozzo Virtuozzo (
libvcmmd-7.0.22-3.vz7.x86_64 Virtuozzo Virtuozzo (
libvirt-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-client-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-daemon-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-daemon-config-nwfilter-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-daemon-driver-interface-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-daemon-driver-network-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-daemon-driver-nodedev-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-daemon-driver-nwfilter-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-daemon-driver-qemu-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-daemon-driver-storage-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-daemon-driver-storage-core-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-daemon-kvm-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-libs-3.9.0-14.vz7.38.x86_64 Virtuozzo Virtuozzo (
libvirt-python-3.9.0-1.vz7.1.x86_64 Virtuozzo Virtuozzo (
libvzctl-7.0.506-1.vz7.x86_64 Virtuozzo Virtuozzo (
libvzevent-7.0.7-5.vz7.x86_64 Virtuozzo Virtuozzo (
openvz-logos-70.0.13-1.vz7.noarch Virtuozzo Virtuozzo (
p7zip-plugins-16.02-10.el7.x86_64 Fedora Project Fedora Project
ploop-7.0.137-1.vz7.x86_64 Virtuozzo Virtuozzo (
ploop-lib-7.0.137-1.vz7.x86_64 Virtuozzo Virtuozzo (
prlctl-7.0.164-1.vz7.x86_64 Virtuozzo Virtuozzo (
prl-disk-tool-7.0.43-1.vz7.x86_64 Virtuozzo Virtuozzo (
prl-disp-service-7.0.925-1.vz7.x86_64 Virtuozzo Virtuozzo (
python2-lockfile-0.11.0-17.el7.noarch Fedora Project Fedora Project
python2-psutil-5.6.7-1.el7.x86_64 Fedora Project Fedora Project
python-daemon-1.6-4.el7.noarch Fedora Project Fedora Project
python-subprocess32-3.2.7-1.vz7.5.x86_64 Virtuozzo Virtuozzo (
qemu-img-vz-2.10.0-21.7.vz7.67.x86_64 Virtuozzo Virtuozzo (
qemu-kvm-common-vz-2.10.0-21.7.vz7.67.x86_64 Virtuozzo Virtuozzo (
qemu-kvm-vz-2.10.0-21.7.vz7.67.x86_64 Virtuozzo Virtuozzo (
qt-4.8.7-2.vz7.2.x86_64 Virtuozzo Virtuozzo (
rkhunter-1.4.6-2.el7.noarch Fedora Project Fedora Project
seabios-bin-1.10.2-3.1.vz7.3.noarch Virtuozzo Virtuozzo (
seavgabios-bin-1.10.2-3.1.vz7.3.noarch Virtuozzo Virtuozzo (
spfs-0.09.0010-1.vz7.x86_64 Virtuozzo Virtuozzo (
TIVsm-API64-8.1.11-0.x86_64 IBM (none)
TIVsm-APIcit-8.1.11-0.x86_64 IBM (none)
TIVsm-BA-8.1.11-0.x86_64 IBM (none)
TIVsm-BAcit-8.1.11-0.x86_64 IBM (none)
vcmmd-7.0.160-1.vz7.x86_64 Virtuozzo Virtuozzo (
vmauth-7.0.10-2.vz7.x86_64 Virtuozzo Virtuozzo (
vzctl-7.0.194-1.vz7.x86_64 Virtuozzo Virtuozzo (
vzkernel-3.10.0-862.11.6.vz7.64.7.x86_64 Virtuozzo Virtuozzo (
vzkernel-3.10.0-862.20.2.vz7.73.29.x86_64 Virtuozzo Virtuozzo (
vztt-7.0.63-1.vz7.x86_64 Virtuozzo Virtuozzo (
vztt_checker-7.0.2-1.vz7.i686 Virtuozzo Virtuozzo (
vztt_checker-7.0.2-1.vz7.x86_64 Virtuozzo Virtuozzo (
vztt-lib-7.0.63-1.vz7.x86_64 Virtuozzo Virtuozzo (
zabbix-agent-3.2.11-1.el7.x86_64 (none) (none)

How to redirect / forward all postfix emails to one external email address?

Thursday, October 29th, 2020

Reading Time: 3minutes


Lets say you're  a sysadmin doing email migration of a Clustered SMTP and due to that you want to capture for a while all incoming email traffic and redirect it (forward it) towards another single mailbox, where you can review the mail traffic that is flowing for a few hours and analyze it more deeper. This aproach is useful if you have a small or middle sized mail servers and won't be so useful on a mail server that handels few  hundreds of mails hourly. In below article I'll show you how.

How to redirect all postfix mail for a specific domain to single external email address?

There are different ways but if you don't want to just intercept the traffic and a create a copy of email traffic using the always_bcc integrated postfix option (as pointed in my previous article postfix copy every email to a central mailbox).  You can do a copy of email flow via some custom written dispatcher script set to be run by the MTA on each mail arriva, or use maildrop filtering functionality below is very simple example with maildrop in case if you want to filter out and deliver to external email address only email targetted to specific domain.

If you use maildrop as local delivery agent to copy email targetted to specifidc domain to another defined email use rule like:

if ( /^From:.*domain\.com/:h ) {
  cc "!"

To use maildrop to just forward email incoming from a specific sender towards local existing email address on the postfix to an external email address  use something like:

if ( /^From: .**/ )
        dotlock "forward.lock" {
          log "Forward mail"
          to "|/usr/sbin/sendmail"

Then to make the filter active assuming the user has a physical unix mailbox, paste above to local user's  $HOME/.mailfilter.

What to do if your mail delivered via your are sent from a monitoring and alarming scripts that are sending towards many mailboxes that no longer exist after the migration?

To achive capturing all normal attempted to be sent traffic via the mail server, we can forward all served mails towards a single external mail address you can use the nice capability of postfix to understand PCRE perl compatible regular expressions. Regular expressions in postfix of course has its specific I recommend you take a look to the postfix regexp table documentation here, as well as check the Postfix Regex / Tester / Debugger online tool – useful to validate a regexp you want to implement.

How to use postfix regular expression to do a redirect of all sent emails via your postfix mail relayhost towards external mail servers?


In /etc/postfix/ include this line near bottom or as a last line:

virtual_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/virtual-regexp

One defines the virtual file which can be used to define any of your virtual domains you want to simulate as present on the local postfix, the regexp: does load the file which is read by postfix where you can type the regular expression applied to every incoming email via SMTP port 25 or encrypted MTA ports 385 / 995 etc.

So how to redirect all postfix mail to one external email address for later analysis?

Create file /etc/postfix/virtual-regexp


Next build the mapfile (this will generate /etc/postfix/virtual-regexp.db )

# postmap /etc/postfix/virtual-regexp

This also requires a virtual.db to exist. If it doesn't create an empty file called virtual and run again postmap postfix .db generator

# touch /etc/postfix/virtual && postmap /etc/postfix/virtual

Note in /etc/postfix/virtual you can add your postfix mail domains for which you want the MTA to accept mail as a local mail.

In case you need to view all postfix defined virtual domains configured to accept mail locally on the mail server.

$ postconf -n | grep virtual
virtual_alias_domains =
virtual_alias_maps = hash:/etc/postfix/virtual

The regexp /.+@.+/ applied will start forwarding mails immediately after you reload the MTA with:

# systemctl restart postfix

If you want to exclude target mail domains to not be captured by above regexp, in /etc/postfix/virtual-regexp place:


Time for a test. Send a test email

Next step is to Test it mail forwarding works as expected

# echo -e "Tseting body" | mail -s "testing subject" -r ""

Postfix copy every email to a central mailbox (send a copy of every mail sent via mail server to a given email)

Wednesday, October 28th, 2020

Reading Time: 2minutes


Say you need to do a mail server migration, where you have a local configured Postfix on a number of Linux hosts named:



all configured to send email via old Email send host ( in each linux box's postfix configuration's /etc/postfix/
Now due to some infrastructure change in the topology of network or anything else, you need to relay Mails sent via another asumably properly configured Linux host relay (

Usually such a migrations has always a risk that some of the old sent emails originating from local running scripts on Linux-host1, Linux-Host2 … or some application or anything else set to send via them might not properly deliver emails to some external Internet based Mailboxes via the new relayhost

E.g. in /etc/postfix/main.cfLinux-Host* machines, you have below config after the migration:

relayhost = []

Lets say that you want to make sure, that you don't end up with lost emails as you can't be sure whether the new email server will deliver correctly to the old repicient emails. What to do then?

To make sure will not end up in undelivered state and get lost forever after a week or so (depending on the mail queue configuration retention period made on Linux sent MTAs and mailrelay, it is a very good approach to temprorary set all email communication that will be sent via a BCC emaills (A Blind Carbon Copy) of each sent mail via relay that is set on your local configured Postfix-es on Linux-Host*.

In postfix to achieve that it is very easy all you have to do is set on your a postfix config variable always_bcc smartly included by postfix Mail Transfer Agent developers for cases exactly like this.

To forward all passed emails via the mail server just place in the end of /etc/postfix/mail.conf after login via ssh on

Now all left is to reload the postfix to force the new configuration to get loaded on systemd based hosts as it is usually today do:

# systemctl reload postfix

Finally to make sure all works as expected and mail is sent do from do a testing via local MTAs. 

Linux-Host:~# echo -e "Testing body" | mail -s "testing subject" -r ""

Linux-Host:~# echo -e "Testing body" | mail -s "testing subject" -r ""

As you can see I'm using the -r to simulate a sender address, this is a feature of mailx and is not available on older Linux Os hosts that are bundled with mail only command.
Now go to and open the in Outlook (if it is M$ Office 365 MX Shared mailbox), Thunderbird or whatever email fetching software that supports POP3 or IMAP (in case if you configured the common all email mailbox to be on some other Postfix / Sendmail / Qmail MTA). and check whether you started receiving a lot of emails 🙂

That's all folks enjoy ! 🙂

Cracking zip protected password files on GNU/Linux and FreeBSD

Wednesday, October 5th, 2011

Reading Time: 3minutes


Its not very common, but sometimes it happens you have to crack some downloaded file from or some other big torrent tracker. An example scenario would be downloading a huge words dictionary (a rainbow tables) dictionary etc., which was protected by the author with a password and zipped.

Fortunately Mark Lehmann developed a software called fcrackzip which is capable of brute forcing zip protected file passwords straight on UNIX like operating systems (GNU/Linux, FreeBSD).

fcrackzip is available from package repositories on Debian and Ubuntu Linuces to install via apt:

linux:~# apt-get install frackzip

fcrackzip is also available on FreeBSD via the ports tree and can be installed with:

freebsd# cd /usr/ports/security/fcrackzip
freebsd# make install cleam

On Debian it's worthy to have a quick look on the README file:

linux:~# cat /usr/share/doc/fcrackzip/READMESee fcrackzip.txt (which is derived from the manpage), or fcrackzip.html

There is a web page with more information at or

A sample password-protected .zip file is included as "". It's
password has 6 lower case characters, and fcrackzip will find it (and a
number of false positives) with

fcrackzip -b -c a -p aaaaaa ./

which will take between one and thirty minutes on typical machines.

To find out which of these passwords is the right one either try them out
or use the –use-unzip option.


Cracking the password protected sample file on my dual core 1.8 ghz box with 2gb, it took 30 seconds.

linux:~# time fcrackzip -u -b -c a -p aaaaaa

PASSWORD FOUND!!!!: pw == noradi

real 0m29.627s
user 0m29.530s
sys 0m0.064s

Of course the sample set password for is pretty trivial and with more complex passwords, sometimes cracking the password can take up to 30 minutes or an hour and it all depends on the specific case, but at least now we the free software users have a new tool in the growing arsenal of free software programs 😉

Here are the options passed on to the above fcrackzip command:

-uTry to decompress with the detected possible archive passwords using unzip (This is necessery to precisely find the archive password, otherwise it will just print out a number of possible matching archive passwords and you have to try each of the passwords one by one. Note that this option depends on a working unzip version installed.)

-c ainclude all charsets to be tried with the generated passwords

-bSelect brute force mode – Tries all possible combinations of letters specified

-p aaaaaainit-password string (Look up for a password between the password length 6 characters long)

FCrackZip is partly written in assembler and thus is generally works fast, to reduce the CPU load fcrackzip will put on the processor its also capable of using external words dictionary file by passing it the option:

-DThe file should be in a format one word per line and be preliminary alphabetically sorted with let's say sort

Also fcrackzip supports parallel file brute force, for example if you have 10 zip files protected with passwords it can paralelly try to brute force the pwds.

As of time of writting frackzip reached version 1.0 and seems to be pretty stable. Happy cracking.
Just to make sure fcrackzip's source is not lost somewhere in the line in the long future to come, I've created a fcrackzip download mirror here

Preparing your Linux to work with the Cloud providers – Installing aws , gcloud, az, oc, cf CLI Cloud access command interfaces

Wednesday, October 10th, 2018

Reading Time: 5minutes

howto Install-Cloud-access-tools-for-google-aws-azure-openshift-cloud-foundryCloud_computing-explained-on-linux.svg

If you're a sysadmin / developer whose boss requires a migration of Stored Data, Database structures or Web Objects to Amazon Web Services / Google Clourd or you happen to be a DevOps Engineer you will certainly need to have installed as a minimumum amazon AWS and Google Clouds clients to do daily routines and script stuff in managing cloud resources without tampering to use the Web GUI interface.

Here is how to install the aws, gcloud, oc, az and cf next to your kubernetes client (kubectl) on your Linux Desktop.

1. Install Google Cloud  gcloud (to manage Google Cloud platform resources and developer workflow


Here is few cmds to run to install  gcloud, gcloud alpha, gcloud beta, gsutil, and bq commands to manage your Google Cloud from CLI

a.) On Debian / Ubuntu / Mint or any other deb based distro

# Create environment variable for correct distribution
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"


# Add the Cloud SDK distribution URI as a package source
# echo "deb $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list


# Import the Google Cloud Platform public key
$ sudo curl | sudo apt-key add –


# Update the package list and install the Cloud SDK
$ sudo apt-get update && sudo apt-get install google-cloud-sdk

b) On CentOS, RHEL, Fedora Linux and other rpm based ones

$ sudotee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM
name=Google Cloud SDK

# yum install google-cloud-sdk


That's all now the text client to talk to Google Cloud's API gcloud is installed under

Latest install instructions of Google Cloud SDK are here.

2. Install AWS Cloud command line interface tool for managing AWS (Amazon Web Services)


AWS client is dependent on Python PIP so before you proceed you will have to install python-pip deb package if on Debian / Ubuntu Linux use apt:


# apt-get install –yes python-pip


It is also possible to install newest version of PIP a tiny shell script provided by Amazon


# curl -O
# python –user


# pip install awscli –upgrade –user


3. Install Azure Cloud Console access CLI command interface


On Debian / Ubuntu or any other deb based distro:

# AZ_REPO=$(lsb_release -cs)
# echo "deb [arch=amd64] $AZ_REPO main" | \
$ sudo tee /etc/apt/sources.list.d/azure-cli.list

# curl -L | sudo apt-key add –
$ sudo apt-get update
$ sudo apt-get install apt-transport-https azure-cli


Finaly to check that Azure CLI is properly installed run simple login with:


$ az login


$ sudo rpm –import
$ sudo sh -c 'echo -e "[azure-cli]\nname=Azure CLI\nbaseurl=\nenabled=1\ngpgcheck=1\ngpgkey=" > /etc/yum.repos.d/azure-cli.repo'
$ sudo yum install azure-cli

$ az login

For Latest install instructions check Amazon's documentation here

4. Install OpenShift OC CLI tool to access OpenShift Open Source Cloud



Even thought OpenShift has its original Redhat produced package binaries, if you're not on RPM distro it is probably
best to install using official latest version from openshift github repo.

As of time of writting this article this is done with:


# wget
tar –xvf openshift-origin-client-tools-v1.5.1-7b451fc-linux-64bit.tar.gz


# # mv openshift-origin-client-tools-v1.5.1-7b451fc-linux-64bit oc-tool


# cd oc-tool
# echo'export PATH=$HOME/oc-tool:$PATH' >> ~/.bashrc


To test openshift, try to login to OpenShift cloud:


$ oc login
Server [https://localhost:8443]: https://128.XX.XX.XX:8443

Latest install instructions on OC here

5. Install Cloud Foundry cf CLI Cloud access tool


a) On Debian / Ubuntu Linux based distributions, do run:


$ wget -q -O – | sudo apt-key add –
$ echo "deb stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
$ sudo apt-get update
$ sudo apt-get install cf-cli


b) On RHEL Enterprise Linux / CentOS and Fedoras


$ sudo wget -O /etc/yum.repos.d/cloudfoundry-cli.repo
$ sudo yum install cf-cli

For latest install insructions on cf cli check Cloud Foundry's install site

There plenty of other Cloud providers with the number exponentially growing and most have their own custom cli tools to access but as there use is not so common as the 5 ones mentioned below, I've omited 'em. If you're interested to know the complete list of Cloud Providers providing Cloud Services check here.

6. Install Ruby GEMs RHC tools collection

If you have to work with Redhat Cloud Storage / OpenShift you will perhaps want to install also (RHC) Redhat Collection Tools.

Assuming that the Linux system is running an up2date version of ruby programming language do run:



root@jeremiah:~# gem install rhc
Fetching: net-ssh-5.0.2.gem (100%)
Successfully installed net-ssh-5.0.2
Fetching: net-ssh-gateway-2.0.0.gem (100%)
Successfully installed net-ssh-gateway-2.0.0
Fetching: net-ssh-multi-1.2.1.gem (100%)
Successfully installed net-ssh-multi-1.2.1
Fetching: minitar-0.7.gem (100%)
The `minitar` executable is no longer bundled with `minitar`. If you are
expecting this executable, make sure you also install `minitar-cli`.
Successfully installed minitar-0.7
Fetching: hashie-3.6.0.gem (100%)
Successfully installed hashie-3.6.0
Fetching: powerbar-1.0.18.gem (100%)
Successfully installed powerbar-1.0.18
Fetching: minitar-cli-0.7.gem (100%)
Successfully installed minitar-cli-0.7
Fetching: archive-tar-minitar-0.6.1.gem (100%)
'archive-tar-minitar' has been deprecated; just install 'minitar'.
Successfully installed archive-tar-minitar-0.6.1
Fetching: highline-1.6.21.gem (100%)
Successfully installed highline-1.6.21
Fetching: commander-4.2.1.gem (100%)
Successfully installed commander-4.2.1
Fetching: httpclient- (100%)
Successfully installed httpclient-
Fetching: open4-1.3.4.gem (100%)
Successfully installed open4-1.3.4
Fetching: rhc-1.38.7.gem (100%)


If this is your first time installing the RHC tools, please run 'rhc setup'

Successfully installed rhc-1.38.7
Parsing documentation for net-ssh-5.0.2
Installing ri documentation for net-ssh-5.0.2
Parsing documentation for net-ssh-gateway-2.0.0
Installing ri documentation for net-ssh-gateway-2.0.0
Parsing documentation for net-ssh-multi-1.2.1
Installing ri documentation for net-ssh-multi-1.2.1
Parsing documentation for minitar-0.7
Installing ri documentation for minitar-0.7
Parsing documentation for hashie-3.6.0
Installing ri documentation for hashie-3.6.0
Parsing documentation for powerbar-1.0.18
Installing ri documentation for powerbar-1.0.18
Parsing documentation for minitar-cli-0.7
Installing ri documentation for minitar-cli-0.7
Parsing documentation for archive-tar-minitar-0.6.1
Installing ri documentation for archive-tar-minitar-0.6.1
Parsing documentation for highline-1.6.21
Installing ri documentation for highline-1.6.21
Parsing documentation for commander-4.2.1
Installing ri documentation for commander-4.2.1
Parsing documentation for httpclient-
Installing ri documentation for httpclient-
Parsing documentation for open4-1.3.4
Installing ri documentation for open4-1.3.4
Parsing documentation for rhc-1.38.7
Installing ri documentation for rhc-1.38.7
Done installing documentation for net-ssh, net-ssh-gateway, net-ssh-multi, minitar, hashie, powerbar, minitar-cli, archive-tar-minitar, highline, commander, httpclient, open4, rhc after 10 seconds
13 gems installed

To start with rhc next do:

rhc setup
rhc app create my-app diy-0.1

and play with it to install software create services on the Redhat cloud.




This are just of the few of the numerous tools available and I definitely understand there is much more to be said on the topic.
If you can remember other tools tor interesting cloud starting up tips about stuff to do on a fresh installed Linux PC to make life easier with Cloud / PaaS / SaaS / DevOps engineer please drop a comment.

How to install KVM Kernel-based Virtual Machine Virtualization on Linux

Sunday, October 14th, 2018

Reading Time: 22minutes


If you want to run multiple virtual machines on GNU / Linux server or your Linux powered Desktop you have the possibility to use a couple of Virtual Machines just to name a few VirtualBox and VMWare are the option the native way to do it is using the Linux kernel via a loadable kernel module called KVM (Kernel-based Virtual Machine).
Though Oracle's Virtualbox generally works and you could add new test beds virtual machines (install multiple Linux / *BSD OS) it is not fully Free Software and not even fully open source licensed, VMWare even though superior as a Virtualization product is proprietary and its application costs a lot of money which not each develpoper or small / mid-sized company could afford.

Once the kvm.ko module is loaded your Linux kernel turns into a full-featuredVirtual Machine Hypervisor.
Starting with Linux kernel 2.6.X the KVM Hypervisor is available and easy to install virtually all modern Linux distributions Redhat / CentOS Debian / Ubuntu etc. support it and its up to running few commands to install and start using the Power of Kernel embedded Virtualization.

KVM could be used to run in parallel multiple Operating Systems such as Windows / Linux / FreeBSD and others of BSDs family,  each running under a separate virtual machine with its private dedicated (isolated), disc, graphic card, network card etc.

To start up I assume you have already installed some kind of Linux distribution either locally or on a remote dedicated server.

1. Installing KVM on Debian GNU / Linux / Ubuntu / Mint and other deb based distros


Using APT tool install below packages:


root@jeremiah:~# apt install –yes qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils libguestfs-tools genisoimage virtinst libosinfo-bin


2. Installing virt-manager GUI to manage Virtual servers


root@jeremiah:~# apt-cache show virt-manager|grep -i desc -A 1
Description-en: desktop application for managing virtual machines
 It presents a summary view of running domains and their live performance &

Description-md5: 9f7f584744b77cdacc2291f2a8ac220e


root@jeremiah:~# apt install –yes virt-manager






3. Configure bridged networking to allow access to newly configured VMs

Bridging has to be added via /etc/network/interfaces therefore it is a good idea to create a backup of it before modifying:


# cp -rpf /etc/network/interfaces /etc/network/interfaces.bakup-$(echo $(date '+%Y-%m-%d-%H'))


# vim /etc/network/interfaces

auto br0
 iface br0 inet static
         # set static route for LAN
      post-up route add -net netmask gw
      post-up route add -net netmask gw
         bridge_ports eth0
         bridge_stp off
         bridge_fd 0
         bridge_maxwait 0
 # br1 setup with static wan IPv4 with ISP router as a default gateway
 auto br1
 iface br1 inet static
         bridge_ports eth1
         bridge_stp off
         bridge_fd 0
         bridge_maxwait 0


Once file is saved in vim editor restart the networking.


# systemctl restart network.manager


To verify whether the bridge has been succesfully upped.


root@jeremiah:/home/hipo/kvm# brctl show
bridge name    bridge id        STP enabled    interfaces
virbr0        8000.525400cb1cd1    yes        virbr0-nic


4. List all installable Virtual OS images

root@jeremiah:/home/hipo/kvm# virt-builder -list
centos-6                 x86_64     CentOS 6.6
centos-7.0               x86_64     CentOS 7.0
centos-7.1               x86_64     CentOS 7.1
centos-7.2               aarch64    CentOS 7.2 (aarch64)
centos-7.2               x86_64     CentOS 7.2
centos-7.3               x86_64     CentOS 7.3
centos-7.4               x86_64     CentOS 7.4
centos-7.5               x86_64     CentOS 7.5
cirros-0.3.1             x86_64     CirrOS 0.3.1
cirros-0.3.5             x86_64     CirrOS 0.3.5
debian-6                 x86_64     Debian 6 (Squeeze)
debian-7                 sparc64    Debian 7 (Wheezy) (sparc64)
debian-7                 x86_64     Debian 7 (wheezy)
debian-8                 x86_64     Debian 8 (jessie)
debian-9                 x86_64     Debian 9 (stretch)
fedora-18                x86_64     Fedora® 18
fedora-19                x86_64     Fedora® 19
fedora-20                x86_64     Fedora® 20
fedora-21                aarch64    Fedora® 21 Server (aarch64)
fedora-21                armv7l     Fedora® 21 Server (armv7l)
fedora-21                ppc64      Fedora® 21 Server (ppc64)
fedora-21                ppc64le    Fedora® 21 Server (ppc64le)
fedora-21                x86_64     Fedora® 21 Server
fedora-22                aarch64    Fedora® 22 Server (aarch64)
fedora-22                armv7l     Fedora® 22 Server (armv7l)
fedora-22                i686       Fedora® 22 Server (i686)
fedora-22                x86_64     Fedora® 22 Server
fedora-23                aarch64    Fedora® 23 Server (aarch64)
fedora-23                armv7l     Fedora® 23 Server (armv7l)
fedora-23                i686       Fedora® 23 Server (i686)
fedora-23                ppc64      Fedora® 23 Server (ppc64)
fedora-23                ppc64le    Fedora® 23 Server (ppc64le)
fedora-23                x86_64     Fedora® 23 Server
fedora-24                aarch64    Fedora® 24 Server (aarch64)
fedora-24                armv7l     Fedora® 24 Server (armv7l)
fedora-24                i686       Fedora® 24 Server (i686)
fedora-24                x86_64     Fedora® 24 Server
fedora-25                aarch64    Fedora® 25 Server (aarch64)
fedora-25                armv7l     Fedora® 25 Server (armv7l)
fedora-25                i686       Fedora® 25 Server (i686)
fedora-25                ppc64      Fedora® 25 Server (ppc64)
fedora-25                ppc64le    Fedora® 25 Server (ppc64le)
fedora-25                x86_64     Fedora® 25 Server
fedora-26                aarch64    Fedora® 26 Server (aarch64)
fedora-26                armv7l     Fedora® 26 Server (armv7l)
fedora-26                i686       Fedora® 26 Server (i686)
fedora-26                ppc64      Fedora® 26 Server (ppc64)
fedora-26                ppc64le    Fedora® 26 Server (ppc64le)
fedora-26                x86_64     Fedora® 26 Server
fedora-27                aarch64    Fedora® 27 Server (aarch64)
fedora-27                armv7l     Fedora® 27 Server (armv7l)
fedora-27                i686       Fedora® 27 Server (i686)
fedora-27                ppc64      Fedora® 27 Server (ppc64)
fedora-27                ppc64le    Fedora® 27 Server (ppc64le)
fedora-27                x86_64     Fedora® 27 Server
fedora-28                i686       Fedora® 28 Server (i686)
fedora-28                x86_64     Fedora® 28 Server
freebsd-11.1             x86_64     FreeBSD 11.1
scientificlinux-6        x86_64     Scientific Linux 6.5
ubuntu-10.04             x86_64     Ubuntu 10.04 (Lucid)
ubuntu-12.04             x86_64     Ubuntu 12.04 (Precise)
ubuntu-14.04             x86_64     Ubuntu 14.04 (Trusty)
ubuntu-16.04             x86_64     Ubuntu 16.04 (Xenial)
ubuntu-18.04             x86_64     Ubuntu 18.04 (bionic)
opensuse-13.1            x86_64     openSUSE 13.1
opensuse-13.2            x86_64     openSUSE 13.2
opensuse-42.1            x86_64     openSUSE Leap 42.1
opensuse-tumbleweed      x86_64     openSUSE Tumbleweed

5. Create Virtual Machine OS-es from scratch with virt-builder

Below we'll create two images one for Fedora 28 and 1 for Debian 9 using the virt-builder (a tool to build virtual images quickly), the images that could be used are shown through below virt-builder –list command.

# iso='fedora-28';
# iso1='debian-9';


# sudo virt-builder $iso \
     –size=10G \
     –format qcow2 -o /var/lib/libvirt/images/$iso-vm1.qcow2 \
     –hostname $iso-vm1 \
     –network \
     –timezone Europe/Sofia


[   3.3] Downloading:
[   5.2] Planning how to build this image
[   5.2] Uncompressing
[  20.8] Resizing (using virt-resize) to expand the disk to 10.0G
[  50.8] Opening the new disk
[  53.7] Setting a random seed
[  53.7] Setting the hostname: fedora-28-vm1
[  53.7] Setting the timezone: Europe/Sofia
[  53.7] Setting passwords
virt-builder: Setting random password of root to YMTkxaJIkEU24Ytf

[  54.7] Finishing off
                   Output file: /var/lib/libvirt/images/fedora-28-vm1.qcow2
                   Output size: 10.0G
                 Output format: qcow2
            Total usable space: 9.3G
                    Free space: 8.2G (87%)


# sudo virt-builder $iso1 \
     –size=10G \
     –format qcow2 -o /var/lib/libvirt/images/$iso-vm1.qcow2 \
     –hostname $iso1-vm1 \
     –network \
     –timezone Europe/Sofia


[   3.2] Downloading:
[   4.1] Planning how to build this image
[   4.1] Uncompressing
[  16.9] Resizing (using virt-resize) to expand the disk to 10.0G
[  40.1] Opening the new disk
[  42.9] Setting a random seed
virt-builder: warning: random seed could not be set for this type of guest
[  42.9] Setting the hostname: debian-9-vm1
[  43.6] Setting the timezone: Europe/Sofia
[  43.6] Setting passwords
virt-builder: Setting random password of root to JtzEYGff9KxL5jCR
[  44.3] Finishing off
                   Output file: /var/lib/libvirt/images/debian-9-vm1.qcow2
                   Output size: 10.0G
                 Output format: qcow2
            Total usable space: 9.8G
                    Free space: 9.0G (91%)

vim bridged.xml

  <forward mode="bridge"/>
  <bridge name="br0"/>


# sudo virsh net-define –file bridged.xml
# sudo virsh net-autostart br0
# sudo virsh net-start br0


Above two commands will download pre-packaged KVM isos and store them inside /var/lib/libvirt/images/ you see also the root (administrator) password for both ISOs printed out.


root@jeremiah:/home/hipo/kvm# ls -ld /var/lib/libvirt/images/*
-rw-r–r– 1 root         root         10739318784 Oct 12 23:45 /var/lib/libvirt/images/debian-9-vm1.qcow2
-rw-r–r– 1 root         root         10739318784 Oct 12 23:46 /var/lib/libvirt/images/fedora-28-vm1.qcow2


To access directly the new created VMs as we have specified the –vnc option it is possible to directly vnc to the new host with VNC client (in linux I use vncviewer), on Windows you can use something like TightVNC.

6. Use official Linux distributions ISO boot files to install into KVM VM

Those who would like to run inside KVM VM Linux could do it directly using installable ISO files and install the set of Linux with the required packages, just like installing a fresh new Linux on a bare-metal machine.
To do so download your ISO image from the net (either from official distro website or a mirror website, in case if you need to spin an older version) and use virt-install to run the installer inside KVM.


root@jeremiah:~# cd /var/lib/libvirt/boot/;
root@jeremiah:~# wget


# sudo virt-install \
–virt-type=kvm \
–name centos7 \
–ram 2048 \
–vcpus=2 \
–os-variant=centos7.0 \
–virt-type=kvm \
–hvm \
–cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-DVD-1804.iso \
–network=bridge=br0,model=virtio \
–network=bridge=br1,model=virtio \
–graphics vnc \
–disk path=/var/lib/libvirt/images/centos7.qcow2,size=40,bus=virtio,format=qcow2

7. List newly created VMs with Virsh command


root@jeremiah:/home/hipo/kvm# virsh list –all
 Id    Name                           State
 3     fedora-28                      running
 –     debian9                        shut off


The –all parameter lists all available VMs ready to spin, if you want to check what are the VMs that are only running use instead:


root@jeremiah:/home/hipo/kvm# virsh list
 Id    Name                           State
 3     fedora-28                      running


8. Install Virtual Machine OS-es

Below lines will install 2 Virtual machines one Fedora 28 and Debian 9


virt-install –import –name $os \
    –ram 2048 \
    –vcpu 2 \
    –disk path=/var/lib/libvirt/images/$os-vm1.qcow2,format=qcow2 \
    –os-variant fedora-unknown \
    –network=bridge=br0,model=virtio \
    –noautoconsole \
  –hvm \
  –graphics vnc

virt-install –import –name $os     \
–ram 2048     \
–vcpu 2     \
–disk path=/var/lib/libvirt/images/$os-vm1.qcow2,format=qcow2     \
–os-variant debian9     –network=bridge=br0,model=virtio     \
–noautoconsole \
–hvm \
–graphics vnc

To deploy more just change the virtual machine type in os variable and modify the –os-variant variable to match the distribution name, to get the correct –os-variant variables that can be passed use osinfo-query below is output of the cmd:


root@jeremiah:/home/hipo/kvm# osinfo-query os
 Short ID             | Name                                               | Version  | ID                                      
 altlinux1.0          | Mandrake RE Spring 2001                            | 1.0      |        
 altlinux2.0          | ALT Linux 2.0                                      | 2.0      |        
 altlinux2.2          | ALT Linux 2.2                                      | 2.2      |        
 altlinux2.4          | ALT Linux 2.4                                      | 2.4      |        
 altlinux3.0          | ALT Linux 3.0                                      | 3.0      |        
 altlinux4.0          | ALT Linux 4.0                                      | 4.0      |        
 altlinux4.1          | ALT Linux 4.1                                      | 4.1      |        
 altlinux5.0          | ALT Linux 5.0                                      | 5.0      |        
 altlinux6.0          | ALT Linux 6.0                                      | 6.0      |        
 altlinux7.0          | ALT Linux 7.0                                      | 7.0      |        
 centos6.0            | CentOS 6.0                                         | 6.0      |            
 centos6.1            | CentOS 6.1                                         | 6.1      |            
 centos6.2            | CentOS 6.2                                         | 6.2      |            
 centos6.3            | CentOS 6.3                                         | 6.3      |            
 centos6.4            | CentOS 6.4                                         | 6.4      |            
 centos6.5            | CentOS 6.5                                         | 6.5      |            
 centos6.6            | CentOS 6.6                                         | 6.6      |            
 centos6.7            | CentOS 6.7                                         | 6.7      |            
 centos6.8            | CentOS 6.8                                         | 6.8      |            
 centos6.9            | CentOS 6.9                                         | 6.9      |            
 centos7.0            | CentOS 7.0                                         | 7.0      |            
 debian1.1            | Debian Buzz                                        | 1.1      |            
 debian1.2            | Debian Rex                                         | 1.2      |            
 debian1.3            | Debian Bo                                          | 1.3      |            
 debian2.0            | Debian Hamm                                        | 2.0      |            
 debian2.1            | Debian Slink                                       | 2.1      |            
 debian2.2            | Debian Potato                                      | 2.2      |            
 debian3              | Debian Woody                                       | 3        |              
 debian3.1            | Debian Sarge                                       | 3.1      |            
 debian4              | Debian Etch                                        | 4        |              
 debian5              | Debian Lenny                                       | 5        |              
 debian6              | Debian Squeeze                                     | 6        |              
 debian7              | Debian Wheezy                                      | 7        |              
 debian8              | Debian Jessie                                      | 8        |              
 debian9              | Debian Stretch                                     | 9        |              
 debiantesting        | Debian Testing                                     | testing  |        
 fedora-unknown       | Fedora                                             | unknown  |
 fedora1              | Fedora Core 1                                      | 1        |       
 fedora10             | Fedora 10                                          | 10       |      
 fedora11             | Fedora 11                                          | 11       |      
 fedora12             | Fedora 12                                          | 12       |      
 fedora13             | Fedora 13                                          | 13       |      
 fedora14             | Fedora 14                                          | 14       |      
 fedora15             | Fedora 15                                          | 15       |      
 fedora16             | Fedora 16                                          | 16       |      
 fedora17             | Fedora 17                                          | 17       |      
 fedora18             | Fedora 18                                          | 18       |      
 fedora19             | Fedora 19                                          | 19       |      
 fedora2              | Fedora Core 2                                      | 2        |       
 fedora20             | Fedora 20                                          | 20       |      
 fedora21             | Fedora 21                                          | 21       |      
 fedora22             | Fedora 22                                          | 22       |      
 fedora23             | Fedora 23                                          | 23       |      
 fedora24             | Fedora 24                                          | 24       |      
 fedora25             | Fedora 25                                          | 25       |      
 fedora26             | Fedora 26                                          | 26       |      
 fedora3              | Fedora Core 3                                      | 3        |       
 fedora4              | Fedora Core 4                                      | 4        |       
 fedora5              | Fedora Core 5                                      | 5        |       
 fedora6              | Fedora Core 6                                      | 6        |       
 fedora7              | Fedora 7                                           | 7        |       
 fedora8              | Fedora 8                                           | 8        |       
 fedora9              | Fedora 9                                           | 9        |       
 freebsd1.0           | FreeBSD 1.0                                        | 1.0      |          
 freebsd10.0          | FreeBSD 10.0                                       | 10.0     |         
 freebsd10.1          | FreeBSD 10.1                                       | 10.1     |         
 freebsd10.2          | FreeBSD 10.2                                       | 10.2     |         
 freebsd10.3          | FreeBSD 10.3                                       | 10.3     |         
 freebsd10.4          | FreeBSD 10.4                                       | 10.4     |         
 freebsd11.0          | FreeBSD 11.0                                       | 11.0     |         
 freebsd11.1          | FreeBSD 11.1                                       | 11.1     |         
 freebsd2.0           | FreeBSD 2.0                                        | 2.0      |          
 freebsd2.0.5         | FreeBSD 2.0.5                                      | 2.0.5    |        
 freebsd2.2.8         | FreeBSD 2.2.8                                      | 2.2.8    |        
 freebsd2.2.9         | FreeBSD 2.2.9                                      | 2.2.9    |        
 freebsd3.0           | FreeBSD 3.0                                        | 3.0      |          
 freebsd3.2           | FreeBSD 3.2                                        | 3.2      |          
 freebsd4.0           | FreeBSD 4.0                                        | 4.0      |          
 freebsd4.1           | FreeBSD 4.1                                        | 4.1      |          
 freebsd4.10          | FreeBSD 4.10                                       | 4.10     |         
 freebsd4.11          | FreeBSD 4.11                                       | 4.11     |         
 freebsd4.2           | FreeBSD 4.2                                        | 4.2      |          
 freebsd4.3           | FreeBSD 4.3                                        | 4.3      |          
 freebsd4.4           | FreeBSD 4.4                                        | 4.4      |          
 freebsd4.5           | FreeBSD 4.5                                        | 4.5      |          
 freebsd4.6           | FreeBSD 4.6                                        | 4.6      |          
 freebsd4.7           | FreeBSD 4.7                                        | 4.7      |          
 freebsd4.8           | FreeBSD 4.8                                        | 4.8      |          
 freebsd4.9           | FreeBSD 4.9                                        | 4.9      |          
 freebsd5.0           | FreeBSD 5.0                                        | 5.0      |          
 freebsd5.1           | FreeBSD 5.1                                        | 5.1      |          
 freebsd5.2           | FreeBSD 5.2                                        | 5.2      |          
 freebsd5.2.1         | FreeBSD 5.2.1                                      | 5.2.1    |        
 freebsd5.3           | FreeBSD 5.3                                        | 5.3      |          
 freebsd5.4           | FreeBSD 5.4                                        | 5.4      |          
 freebsd5.5           | FreeBSD 5.5                                        | 5.5      |          
 freebsd6.0           | FreeBSD 6.0                                        | 6.0      |          
 freebsd6.1           | FreeBSD 6.1                                        | 6.1      |          
 freebsd6.2           | FreeBSD 6.2                                        | 6.2      |          
 freebsd6.3           | FreeBSD 6.3                                        | 6.3      |          
 freebsd6.4           | FreeBSD 6.4                                        | 6.4      |          
 freebsd7.0           | FreeBSD 7.0                                        | 7.0      |          
 freebsd7.1           | FreeBSD 7.1                                        | 7.1      |          
 freebsd7.2           | FreeBSD 7.2                                        | 7.2      |          
 freebsd7.3           | FreeBSD 7.3                                        | 7.3      |          
 freebsd7.4           | FreeBSD 7.4                                        | 7.4      |          
 freebsd8.0           | FreeBSD 8.0                                        | 8.0      |          
 freebsd8.1           | FreeBSD 8.1                                        | 8.1      |          
 freebsd8.2           | FreeBSD 8.2                                        | 8.2      |          
 freebsd8.3           | FreeBSD 8.3                                        | 8.3      |          
 freebsd8.4           | FreeBSD 8.4                                        | 8.4      |          
 freebsd9.0           | FreeBSD 9.0                                        | 9.0      |          
 freebsd9.1           | FreeBSD 9.1                                        | 9.1      |          
 freebsd9.2           | FreeBSD 9.2                                        | 9.2      |          
 freebsd9.3           | FreeBSD 9.3                                        | 9.3      |          
 freedos1.2           | FreeDOS 1.2                                        | 1.2      |          
 gnome-continuous-3.10 | GNOME 3.10                                         | 3.10     |  
 gnome-continuous-3.12 | GNOME 3.12                                         | 3.12     |  
 gnome-continuous-3.14 | GNOME 3.14                                         | 3.14     |  
 gnome3.6             | GNOME 3.6                                          | 3.6      |              
 gnome3.8             | GNOME 3.8                                          | 3.8      |              
 macosx10.0           | MacOS X Cheetah                                    | 10.0     |            
 macosx10.1           | MacOS X Puma                                       | 10.1     |            
 macosx10.2           | MacOS X Jaguar                                     | 10.2     |            
 macosx10.3           | MacOS X Panther                                    | 10.3     |            
 macosx10.4           | MacOS X Tiger                                      | 10.4     |            
 macosx10.5           | MacOS X Leopard                                    | 10.5     |            
 macosx10.6           | MacOS X Snow Leopard                               | 10.6     |            
 macosx10.7           | MacOS X Lion                                       | 10.7     |            
 mageia1              | Mageia 1                                           | 1        |              
 mageia2              | Mageia 2                                           | 2        |              
 mageia3              | Mageia 3                                           | 3        |              
 mageia4              | Mageia 4                                           | 4        |              
 mageia5              | Mageia 5                                           | 5        |              
 mageia6              | Mageia 6                                           | 6        |              
 mandrake10.0         | Mandrake Linux 10.0                                | 10.0     |       
 mandrake10.1         | Mandrake Linux 10.1                                | 10.1     |       
 mandrake10.2         | Mandrake Linux 10.2                                | 10.2     |       
 mandrake5.1          | Mandrake Linux 5.1                                 | 5.1      |        
 mandrake5.2          | Mandrake Linux 5.2                                 | 5.2      |        
 mandrake5.3          | Mandrake Linux 5.3                                 | 5.3      |        
 mandrake6.0          | Mandrake Linux 6.0                                 | 6.0      |        
 mandrake6.1          | Mandrake Linux 6.1                                 | 6.1      |        
 mandrake7.0          | Mandrake Linux 7.0                                 | 7.0      |        
 mandrake7.1          | Mandrake Linux 7.1                                 | 7.1      |        
 mandrake7.2          | Mandrake Linux 7.2                                 | 7.2      |        
 mandrake8.0          | Mandrake Linux 8.0                                 | 8.0      |        
 mandrake8.1          | Mandrake Linux 8.1                                 | 8.1      |        
 mandrake8.2          | Mandrake Linux 8.2                                 | 8.2      |        
 mandrake9.0          | Mandrake Linux 9.0                                 | 9.0      |        
 mandrake9.1          | Mandrake Linux 9.1                                 | 9.1      |        
 mandrake9.2          | Mandrake Linux 9.2                                 | 9.2      |        
 mandriva2006.0       | Mandriva Linux 2006.0                              | 2006.0   |     
 mandriva2007         | Mandriva Linux 2007                                | 2007     |       
 mandriva2007.1       | Mandriva Linux 2007 Spring                         | 2007.1   |     
 mandriva2008.0       | Mandriva Linux 2008                                | 2008.0   |     
 mandriva2008.1       | Mandriva Linux 2008 Spring                         | 2008.1   |     
 mandriva2009.0       | Mandriva Linux 2009                                | 2009.0   |     
 mandriva2009.1       | Mandriva Linux 2009 Spring                         | 2009.1   |     
 mandriva2010.0       | Mandriva Linux 2010                                | 2010.0   |     
 mandriva2010.1       | Mandriva Linux 2010 Spring                         | 2010.1   |     
 mandriva2010.2       | Mandriva Linux 2010.2                              | 2010.2   |     
 mandriva2011         | Mandriva Linux 2011                                | 2011     |       
 mbs1.0               | Mandriva Business Server 1.0                       | 1.0      |             
 mes5                 | Mandriva Enterprise Server 5.0                     | 5.0      |             
 mes5.1               | Mandriva Enterprise Server 5.1                     | 5.1      |             
 msdos6.22            | Microsoft MS-DOS 6.22                              | 6.22     |         
 netbsd0.8            | NetBSD 0.8                                         | 0.8      |            
 netbsd0.9            | NetBSD 0.9                                         | 0.9      |            
 netbsd1.0            | NetBSD 1.0                                         | 1.0      |            
 netbsd1.1            | NetBSD 1.1                                         | 1.1      |            
 netbsd1.2            | NetBSD 1.2                                         | 1.2      |            
 netbsd1.3            | NetBSD 1.3                                         | 1.3      |            
 netbsd1.4            | NetBSD 1.4                                         | 1.4      |            
 netbsd1.5            | NetBSD 1.5                                         | 1.5      |            
 netbsd1.6            | NetBSD 1.6                                         | 1.6      |            
 netbsd2.0            | NetBSD 2.0                                         | 2.0      |            
 netbsd3.0            | NetBSD 3.0                                         | 3.0      |            
 netbsd4.0            | NetBSD 4.0                                         | 4.0      |            
 netbsd5.0            | NetBSD 5.0                                         | 5.0      |            
 netbsd5.1            | NetBSD 5.1                                         | 5.1      |            
 netbsd6.0            | NetBSD 6.0                                         | 6.0      |            
 netbsd6.1            | NetBSD 6.1                                         | 6.1      |            
 netbsd7.0            | NetBSD 7.0                                         | 7.0      |            
 netbsd7.1            | NetBSD 7.1                                         | 7.1      |            
 netbsd7.1.1          | NetBSD 7.1.1                                       | 7.1.1    |          
 netware4             | Novell Netware 4                                   | 4        |             
 netware5             | Novell Netware 5                                   | 5        |             
 netware6             | Novell Netware 6                                   | 6        |             
 openbsd4.2           | OpenBSD 4.2                                        | 4.2      |          
 openbsd4.3           | OpenBSD 4.3                                        | 4.3      |          
 openbsd4.4           | OpenBSD 4.4                                        | 4.4      |          
 openbsd4.5           | OpenBSD 4.5                                        | 4.5      |          
 openbsd4.8           | OpenBSD 4.8                                        | 4.8      |          
 openbsd4.9           | OpenBSD 4.9                                        | 4.9      |          
 openbsd5.0           | OpenBSD 5.0                                        | 5.0      |          
 openbsd5.1           | OpenBSD 5.1                                        | 5.1      |          
 openbsd5.2           | OpenBSD 5.2                                        | 5.2      |          
 openbsd5.3           | OpenBSD 5.3                                        | 5.3      |          
 openbsd5.4           | OpenBSD 5.4                                        | 5.4      |          
 openbsd5.5           | OpenBSD 5.5                                        | 5.5      |          
 openbsd5.6           | OpenBSD 5.6                                        | 5.6      |          
 openbsd5.7           | OpenBSD 5.7                                        | 5.7      |          
 openbsd5.8           | OpenBSD 5.8                                        | 5.8      |          
 openbsd5.9           | OpenBSD 5.9                                        | 5.9      |          
 openbsd6.0           | OpenBSD 6.0                                        | 6.0      |          
 openbsd6.1           | OpenBSD 6.1                                        | 6.1      |          
 openbsd6.2           | OpenBSD 6.2                                        | 6.2      |          
 opensolaris2009.06   | OpenSolaris 2009.06                                | 2009.06  |      
 opensuse-factory     | openSUSE                                           | factory  |    
 opensuse-unknown     | openSUSE                                           | unknown  |    
 opensuse10.2         | openSUSE 10.2                                      | 10.2     |       
 opensuse10.3         | openSUSE 10.3                                      | 10.3     |       
 opensuse11.0         | openSUSE 11.0                                      | 11.0     |       
 opensuse11.1         | openSUSE 11.1                                      | 11.1     |       
 opensuse11.2         | openSUSE 11.2                                      | 11.2     |       
 opensuse11.3         | openSUSE 11.3                                      | 11.3     |       
 opensuse11.4         | openSUSE 11.4                                      | 11.4     |       
 opensuse12.1         | openSUSE 12.1                                      | 12.1     |       
 opensuse12.2         | openSUSE 12.2                                      | 12.2     |       
 opensuse12.3         | openSUSE 12.3                                      | 12.3     |       
 opensuse13.1         | openSUSE 13.1                                      | 13.1     |       
 opensuse13.2         | openSUSE 13.2                                      | 13.2     |       
 opensuse42.1         | openSUSE Leap 42.1                                 | 42.1     |       
 opensuse42.2         | openSUSE Leap 42.2                                 | 42.2     |       
 opensuse42.3         | openSUSE Leap 42.3                                 | 42.3     |       
 opensusetumbleweed   | openSUSE Tumbleweed                                | tumbleweed |
 rhel-atomic-7.0      | Red Hat Enterprise Linux Atomic Host 7.0           | 7.0      |       
 rhel-atomic-7.1      | Red Hat Enterprise Linux Atomic Host 7.1           | 7.1      |       
 rhel-atomic-7.2      | Red Hat Enterprise Linux Atomic Host 7.2           | 7.2      |       
 rhel2.1              | Red Hat Enterprise Linux 2.1                       | 2.1      |              
 rhel2.1.1            | Red Hat Enterprise Linux 2.1 Update 1  
/etc/bind/masters/            | 2.1.1    |            
 rhel2.1.2            | Red Hat Enterprise Linux 2.1 Update 2              | 2.1.2    |            
 rhel2.1.3            | Red Hat Enterprise Linux 2.1 Update 3              | 2.1.3    |            
 rhel2.1.4            | Red Hat Enterprise Linux 2.1 Update 4              | 2.1.4    |            
 rhel2.1.5            | Red Hat Enterprise Linux 2.1 Update 5              | 2.1.5    |            
 rhel2.1.6            | Red Hat Enterprise Linux 2.1 Update 6              | 2.1.6    |            
 rhel2.1.7            | Red Hat Enterprise Linux 2.1 Update 7              | 2.1.7    |            
 rhel3                | Red Hat Enterprise Linux 3                         | 3        |                
 rhel3.1              | Red Hat Enterprise Linux 3 Update 1                | 3.1      |              
 rhel3.2              | Red Hat Enterprise Linux 3 Update 2                | 3.2      |              
 rhel3.3              | Red Hat Enterprise Linux 3 Update 3                | 3.3      |              
 rhel3.4              | Red Hat Enterprise Linux 3 Update 4                | 3.4      |              
 rhel3.5              | Red Hat Enterprise Linux 3 Update 5                | 3.5      |              
 rhel3.6              | Red Hat Enterprise Linux 3 Update 6                | 3.6      |              
 rhel3.7              | Red Hat Enterprise Linux 3 Update 7                | 3.7      |              
 rhel3.8              | Red Hat Enterprise Linux 3 Update 8                | 3.8      |              
 rhel3.9              | Red Hat Enterprise Linux 3 Update 9                | 3.9      |              
 rhel4.0              | Red Hat Enterprise Linux 4.0                       | 4.0      |              
 rhel4.1              | Red Hat Enterprise Linux 4.1                       | 4.1      |              
 rhel4.2              | Red Hat Enterprise Linux 4.2                       | 4.2      |              
 rhel4.3              | Red Hat Enterprise Linux 4.3                       | 4.3      |              
 rhel4.4              | Red Hat Enterprise Linux 4.4                       | 4.4      |              
 rhel4.5              | Red Hat Enterprise Linux 4.5                       | 4.5      |              
 rhel4.6              | Red Hat Enterprise Linux 4.6                       | 4.6      |              
 rhel4.7              | Red Hat Enterprise Linux 4.7                       | 4.7      |              
 rhel4.8              | Red Hat Enterprise Linux 4.8                       | 4.8      |              
 rhel4.9              | Red Hat Enterprise Linux 4.9                       | 4.9      |              
 rhel5.0              | Red Hat Enterprise Linux 5.0                       | 5.0      |              
 rhel5.1              | Red Hat Enterprise Linux 5.1                       | 5.1      |              
 rhel5.10             | Red Hat Enterprise Linux 5.10                      | 5.10     |             
 rhel5.11             | Red Hat Enterprise Linux 5.11                      | 5.11     |             
 rhel5.2              | Red Hat Enterprise Linux 5.2                       | 5.2      |              
 rhel5.3              | Red Hat Enterprise Linux 5.3                       | 5.3      |              
 rhel5.4              | Red Hat Enterprise Linux 5.4                       | 5.4      |              
 rhel5.5              | Red Hat Enterprise Linux 5.5                       | 5.5      |              
 rhel5.6              | Red Hat Enterprise Linux 5.6                       | 5.6      |              
 rhel5.7              | Red Hat Enterprise Linux 5.7                       | 5.7      |              
 rhel5.8              | Red Hat Enterprise Linux 5.8                       | 5.8      |              
 rhel5.9              | Red Hat Enterprise Linux 5.9                       | 5.9      |              
 rhel6.0              | Red Hat Enterprise Linux 6.0                       | 6.0      |              
 rhel6.1              | Red Hat Enterprise Linux 6.1                       | 6.1      |              
 rhel6.2              | Red Hat Enterprise Linux 6.2                       | 6.2      |              
 rhel6.3              | Red Hat Enterprise Linux 6.3                       | 6.3      |              
 rhel6.4              | Red Hat Enterprise Linux 6.4                       | 6.4      |              
 rhel6.5              | Red Hat Enterprise Linux 6.5                       | 6.5      |              
 rhel6.6              | Red Hat Enterprise Linux 6.6                       | 6.6      |              
 rhel6.7              | Red Hat Enterprise Linux 6.7                       | 6.7      |              
 rhel6.8              | Red Hat Enterprise Linux 6.8                       | 6.8      |              
 rhel6.9              | Red Hat Enterprise Linux 6.9                       | 6.9      |              
 rhel7.0              | Red Hat Enterprise Linux 7.0                       | 7.0      |              
 rhel7.1              | Red Hat Enterprise Linux 7.1                       | 7.1      |              
 rhel7.2              | Red Hat Enterprise Linux 7.2                       | 7.2      |              
 rhel7.3              | Red Hat Enterprise Linux 7.3                       | 7.3      |              
 rhel7.4              | Red Hat Enterprise Linux 7.4                       | 7.4      |              
 rhl1.0               | Red Hat Linux 1.0                                  | 1.0      |               
 rhl1.1               | Red Hat Linux 1.1                                  | 1.1      |               
 rhl2.0               | Red Hat Linux 2.0                                  | 2.0      |               
 rhl2.1               | Red Hat Linux 2.1                                  | 2.1      |               
 rhl3.0.3             | Red Hat Linux 3.0.3                                | 3.0.3    |             
 rhl4.0               | Red Hat Linux 4.0                                  | 4.0      |               
 rhl4.1               | Red Hat Linux 4.1                                  | 4.1      |               
 rhl4.2               | Red Hat Linux 4.2                                  | 4.2      |               
 rhl5.0               | Red Hat Linux 5.0                                  | 5.0      |               
 rhl5.1               | Red Hat Linux 5.1                                  | 5.1      |               
 rhl5.2               | Red Hat Linux 5.2                                  | 5.2      |               
 rhl6.0               | Red Hat Linux 6.0                                  | 6.0      |               
 rhl6.1               | Red Hat Linux 6.1                                  | 6.1      |               
 rhl6.2               | Red Hat Linux 6.2                                  | 6.2      |               
 rhl7                 | Red Hat Linux 7                                    | 7        |                 
 rhl7.1               | Red Hat Linux 7.1                                  | 7.1      |               
 rhl7.2               | Red Hat Linux 7.2                                  | 7.2      |               
 rhl7.3               | Red Hat Linux 7.3                                  | 7.3      |               
 rhl8.0               | Red Hat Linux 8.0                                  | 8.0      |               
 rhl9                 | Red Hat Linux 9                                    | 9        |                 
 sled10               | SUSE Linux Enterprise Desktop 10                   | 10       |                 
 sled10sp1            | SUSE Linux Enterprise Desktop 10 SP1               | 10.1     |               
 sled10sp2            | SUSE Linux Enterprise Desktop 10 SP2               | 10.2     |               
 sled10sp3            | SUSE Linux Enterprise Desktop 10 SP3               | 10.3     |               
 sled10sp4            | SUSE Linux Enterprise Desktop 10 SP4               | 10.4     |               
 sled11               | SUSE Linux Enterprise Desktop 11                   | 11       |                 
 sled11sp1            | SUSE Linux Enterprise Desktop 11 SP1               | 11.1     |               
 sled11sp2            | SUSE Linux Enterprise Desktop 11 SP2               | 11.2     |               
 sled11sp3            | SUSE Linux Enterprise Desktop 11 SP3               | 11.3     |               
 sled11sp4            | SUSE Linux Enterprise Desktop 11 SP4               | 11.4     |               
 sled12               | SUSE Linux Enterprise Desktop 12                   | 12       |                 
 sled12sp1            | SUSE Linux Enterprise Desktop 12 SP1               | 12.1     |               
 sled12sp2            | SUSE Linux Enterprise Desktop 12 SP2               | 12.2     |               
 sled9                | SUSE Linux Enterprise Desktop 9                    | 9        |                  
 sles10               | SUSE Linux Enterprise Server 10            
/etc/bind/masters/        | 10       |                 
 sles10sp1            | SUSE Linux Enterprise Server 10 SP1                | 10.1     |               
 sles10sp2            | SUSE Linux Enterprise Server 10 SP2                | 10.2     |               
 sles10sp3            | SUSE Linux Enterprise Server 10 SP3                | 10.3     |               
 sles10sp4            | SUSE Linux Enterprise Server 10 SP4                | 10.4     |               
 sles11               | SUSE Linux Enterprise Server 11                    | 11       |                 
 sles11sp1            | SUSE Linux Enterprise Server 11 SP1                | 11.1     |               
 sles11sp2            | SUSE Linux Enterprise Server 11 SP2                | 11.2     |               
 sles11sp3            | SUSE Linux Enterprise Server 11 SP3                | 11.3     |               
 sles11sp4            | SUSE Linux Enterprise Server 11 SP4                | 11.4     |               
 sles12               | SUSE Linux Enterprise Server 12                    | 12       |                 
 sles12sp1            | SUSE Linux Enterprise Server 12 SP1                | 12.1     |               
 sles12sp2            | SUSE Linux Enterprise Server 12 SP2                | 12.2     |               
 sles9                | SUSE Linux Enterprise Server 9                     | 9        |                  
 solaris10            | Solaris 10                                         | 10       |               
 solaris11            | Oracle Solaris 11                                  | 11       |            
 solaris9             | Solaris 9                                          | 9        |                
 ubuntu10.04          | Ubuntu 10.04 LTS                                   | 10.04    |          
 ubuntu10.10          | Ubuntu 10.10                                       | 10.10    |          
 ubuntu11.04          | Ubuntu 11.04                                       | 11.04    |          
 ubuntu11.10          | Ubuntu 11.10                                       | 11.10    |          
 ubuntu12.04          | Ubuntu 12.04 LTS                                   | 12.04    |          
 ubuntu12.10          | Ubuntu 12.10                                       | 12.10    |          
 ubuntu13.04          | Ubuntu 13.04                                       | 13.04    |          
 ubuntu13.10          | Ubuntu 13.10                                       | 13.10    |          
 ubuntu14.04          | Ubuntu 14.04 LTS                                   | 14.04    |          
 ubuntu14.10          | Ubuntu 14.10                                       | 14.10    |          
 ubuntu15.04          | Ubuntu 15.04                                       | 15.04    |          
 ubuntu15.10          | Ubuntu 15.10                                       | 15.10    |          
 ubuntu16.04          | Ubuntu 16.04                                       | 16.04    |          
 ubuntu16.10          | Ubuntu 16.10                                       | 16.10    |          
 ubuntu17.04          | Ubuntu 17.04                                       | 17.04    |          
 ubuntu17.10          | Ubuntu 17.10                                       | 17.10    |          
 ubuntu4.10           | Ubuntu 4.10                                        | 4.10     |           
 ubuntu5.04           | Ubuntu 5.04                                        | 5.04     |           
 ubuntu5.10           | Ubuntu 5.10                                        | 5.10     |           
 ubuntu6.06           | Ubuntu 6.06 LTS                                    | 6.06     |           
 ubuntu6.10           | Ubuntu 6.10                                        | 6.10     |           
 ubuntu7.04           | Ubuntu 7.04                                        | 7.04     |           
 ubuntu7.10           | Ubuntu 7.10                                        | 7.10     |           
 ubuntu8.04           | Ubuntu 8.04 LTS                                    | 8.04     |           
 ubuntu8.10           | Ubuntu 8.10                                        | 8.10     |           
 ubuntu9.04           | Ubuntu 9.04                                        | 9.04     |           
 ubuntu9.10           | Ubuntu 9.10                                        | 9.10     |           
 win1.0               | Microsoft Windows 1.0                              | 1.0      |            
 win10                | Microsoft Windows 10                               | 10.0     |             
 win2.0               | Microsoft Windows 2.0                              | 2.0      |            
 win2.1               | Microsoft Windows 2.1                              | 2.1      |            
 win2k                | Microsoft Windows 2000                             | 5.0      |             
 win2k12              | Microsoft Windows Server 2012                      | 6.3      |           
 win2k12r2            | Microsoft Windows Server 2012 R2                   | 6.3      |         
 win2k3               | Microsoft Windows Server 2003                      | 5.2      |            
 win2k3r2             | Microsoft Windows Server 2003 R2                   | 5.2      |          
 win2k8               | Microsoft Windows Server 2008                      | 6.0      |            
 win2k8r2             | Microsoft Windows Server 2008 R2                   | 6.1      |          
 win3.1               | Microsoft Windows 3.1                              | 3.1      |            
 win7                 | Microsoft Windows 7                                | 6.1      |              
 win8                 | Microsoft Windows 8                                | 6.2      |              
 win8.1               | Microsoft Windows 8.1                              | 6.3      |            
 win95                | Microsoft Windows 95                               | 4.0      |             
 win98                | Microsoft Windows 98                               | 4.1      |             
 winme                | Microsoft Windows Millennium Edition               | 4.9      |             
 winnt3.1             | Microsoft Windows NT Server 3.1                    | 3.1      |          
 winnt3.5             | Microsoft Windows NT Server 3.5                    | 3.5      |          
 winnt3.51            | Microsoft Windows NT Server 3.51                   | 3.51     |         
 winnt4.0             | Microsoft Windows NT Server 4.0                    | 4.0      |          
 winvista             | Microsoft Windows Vista                            | 6.0      |          
 winxp                | Microsoft Windows XP                               | 5.1      |  


9. Start / Stop listed KVM Virtual Machine


root@jeremiah:~# virsh list –all
 Id    Name                           State
 3     fedora-28                      running
 –     debian9                        shut off


To start debian9 linux virtual machine that is currently off


root@jeremiah:~# virsh start fedora-28
Domain fedora-28 started


root@jeremiah:/home/hipo# virsh start debian9
error: Failed to start domain debian9
error: Requested operation is not valid: network 'default' is not active

root@jeremiah:/home/hipo# virsh net-list –all
Name                 State      Autostart     Persistent
br0                  active     yes           yes
default              inactive   no            yes


root@jeremiah:/home/hipo# virsh net-start default
Network default started

root@jeremiah:/home/hipo# virsh start debian9
Domain debian9 started


10. Attach to running VM with virsh or virt-manager


root@jeremiah:~# virsh list
 Id    Name                           State
 1     fedora-28                      running
 3     debian9                        running

root@jeremiah:~# virsh connect debian9


Note that to make the login prompt appear you have to press enter once after the ^] connection string appears


An alternative way is to use virt-manager GUI KVM desktop management interface and click over the Virtual Machine Guest name, in same fashion like in VirtualBox.



If you have KVM running on your Linux desktop PC / notebook you can also connect via VNC with virsh command.


root@jericho:~# virsh vncdisplay centos7

Another handy thing is to expose the Virtualized Guest OS with VNC in order to be able to connect and manage installation or further Linux configuration via VNC using anSSH Tunnel with port forwarding:


$ ssh -L 5901:


11.  Start / Shutdown / Suspend / Reboot (safe reboot) a VM guest machine domain



root@jericho:~# virsh shutdown debian9
root@jericho:~# virsh start fedora-28
root@jericho:~# virsh suspend debian9
root@jericho:~# virsh reboot fedora-28


12. Remove / Delete KVM Virtual Machines domain


root@jeremiah:~# virsh undefine fedora-28
root@jeremiah:~# virsh destroy fedora-28

Closing words

Using KVM to experiment with different OS distributions is really fun just like you can easily run a number of the major most popular Linux Distributions and a set of different versions. It takes few minutes to have a fully functional Linux to play with and it saves a lot of hassles when dealing with GNU / Linux and FreeBSD, doing so in Virtualbox for me prooved to be much more complicated (not to mention that often Virtualbox had an ugly bugs so even Importing an Appliance as a Guest VM with an official distro OS-es failed with weird errors.
One other very practical use of Kerkel-based Virtualization is if you want to run your servers using own Micro-Services architecture (e.g. run multiple Linux OS-es each running a separate Apache / Nginx / MySQL / PostGreSQL / Backup / Storage) etc. all of it running on a single dedicated server or a self-hosted bare-metal
There are plenty of Web Interfaces for Management KVM (proprietary and free software) that could even futher simplify the use and deploy / destory of KVM VMs.
All that makes possible running your own Linux or Web hosting provider a relatively easy task and seriously could cut business expenses and operational (maintenance) costs.

If you plan to run youw own hosting company, I can help you establish your infrastructure and advise you on the right technologies to use.


Qmail redirect mail to another one and keep local Mailbox copy with .qmail file – Easy Set up email forwarding Qmail

Saturday, August 11th, 2018

Reading Time: 2minutes

Qmail redirect mail box to another one with .Qmail file dolphin artistic logo

QMail (Considered to be the most secure Mail server out there whose modified version is running on Google – and Mail Yahoo! and Yandex EMail (SMTP) servers, nowadays has been highly neglected and considered obsolete thus most people prefer to use postfix SMTPor EXIMbut still if you happen to be running a number of qmail old rack Mail servers (running a bunch of Email addresses and Virtual Domains straight on the filesystem – very handy by the way for administration much better than when you have a Qmail Mail server configured to store its Mailboxes within MySQL / PostgreSQL or other Database server – because simple vpopmail configured to play nice with Qmail and store all user emails directly on Filesystem (though considered more insecure the email correspondence can be easily red, if the server is hacked it is much better managable for a small and mid-sized mailserver) or have inherited them from another sys admin and you wonder how to redirect a single Mailbox:

(under domain lets say domain's email should forward to to SMTP domain (e.g. your-email-username@server-whatever1.comis supposed to forward to
To achieve it create new file called .qmail

Under the Qmail or VirtualDomain location for example:




root@qmail-server:~# vim /var/qmail/mailnames/

!!! NOTE N.B. !!! the last slash / after Maildir (…Maildir/) is important to be there otherwise mail will not get delivered
That's all now send a test email, just to make sure redirection works properly, assuming the .qmail file is created by root, by default the file permissions will be with privileges root:root.


That shouldn't be a problem at all. That's all now enjoy emails being dropped out to the second mail 🙂


Installing the phpbb forum on Debian (Squeeze/Sid) Linux

Saturday, September 11th, 2010

Reading Time: 4minutes


I've just installed the phpbb forum on a Debian Linux because we needed a goodquick to install communication media in order to improve our internal communication in a student project in Strategic HR we're developing right now in Arnhem Business School.

Here are the exact steps I followed to have a properly it properly instlled:

1. Install the phpbb3 debian package
This was pretty straight forward:

debian:~# apt-get install phpbb3

At this point of installation I've faced a dpkg-reconfigure phpbb deb package configuration issue:
I was prompted to pass in the credentials for my MySQL password right after I've selected the MySQL as my preferred database back engine.
I've feeded my MySQL root password as well as my preferred forum database name, however the database installation failed because, somehow the configuration procedure tried to connect to my MySQL database with the htcheck user.
I guess this has to be a bug in the package itself or something from my previous installation misconfigured the way the debian database backend configuration was operating.
My assumption is that my previously installed htcheck package or something beforehand I've done right after the htcheck and htcheck-php packages installation.

after the package configuration failed still the package had a status of properly installed when I reviewed it with dpkg
I've thought about trying to manually reconfigure it using the dpkg-reconfigure debian command and I gave it a try like that:

debian:~# dpkg-reconfigure phpbb3

This time along with the other fields I've to fill in the ncurses interface I was prompted for a username before the password prompted appeared.
Logically I tried to fill in the root as it's my global privileges MySQL allowed user.
However that didn't helped at all and again the configuration tried to send the credentials with user htcheck to my MySQL database server.
To deal with the situation I had to approach it in the good old manual way.

2. Manually prepare / create the required phpbb forum database

To completet that connected to the MySQL server with the mysql client and created the proper database like so:

debian:~# mysql -u root -p
CREATE database phpbb3forum;

3. Use phpmyadmin or the mysql client command line to create a new user for the phpbb forum

Here since adding up the user using the phpmyadmin was a way easier to do I decided to go that route, anyways using the mysql cli is also an option.

From phpmyadmin It's pretty easy to add a new user and grant privileges to a certain database, to do so navigate to the following database:

Privileges -> -> Add a new user ->

Now type your User name: , Host , Password , Re-type password , also for a Host: you have to choose Local from the drop down menu.

Leave the Database for user field empty as we have already previously created our desired database in step 2 of this article

Now press the "Go" button and the user will get created.

Further after choose the Privileges menu right on the bottom of the page once again, select through the checkbox the username you have just created let's say the previously created user is phpbb3

Go to Action (There is a picture with a man and a pencil on the right side of this button

Scroll down to the page part saying Database-specific privileges and in the field Add privileges on the following database: fill in your previosly created database name in our case it's phpbb3forum

and then press the "Go" button once again.
A page will appear where you will have to select the exact privileges you would like to grant on the specific selected database.
For some simplicity just check all the checkbox to grant as many privilegs to your database as you could.
Then again you will have to press the "Go" button and there you go you should have already configured an username and database ready to go with your new phpbb forum.

4. Create a virtualhost if you would like to have the forum as a subdomain or into a separate domain

If you decide to have the forum on a separate sub-domain or domain as I did you will have to add some kind of Virtualhost into either your Apache configuration /etc/apache2/apache2.conf or into where officially the virutualhosts are laid in Debian Linux in /etc/apache2/sites-available
I've personally created a new file like for instance /etc/apache2/sites-available/

Here is an example content of the new Virtualhost:

<VirtualHost *>

# Indexes + Directory Root.
DirectoryIndex index.php index.php5 index.htm index.html index.cgi index.phtml index.jsp index.asp

DocumentRoot /usr/share/phpbb3/www/

# Logfiles
ErrorLog /var/log/apache2/yourdomain/error.log
CustomLog /var/log/apache2/yourdomain/access.log combined
# CustomLog /dev/null combined
<Directory /usr/share/phpbb3/www/>
Options FollowSymLinks MultiViews -Includes ExecCGI
AllowOverride All
Order allow,deny
allow from all </Directory>

In above Virtualhost just change the values for ServerAdmin , ServerName , DocumentRoot , ErrorLog , CustomLog and Directory declaration to adjust it to your situation.

5. Restart the Apache webserver for the new Virtualhost to take affect

debian:~# /etc/init.d/apache2 restart

Now accessing your should display the installed phpbb3 forum
The default username and password for your forum you can use straight are:

username: admin
password: admin

So far so good you by now have the PHPBB3 forum properly installed and running, however if you try to Register a new user in the forum you will notice that it's impossible because of a terrible ugly message reading:

Sorry but this board is currently unavailable.

I've spend few minutes online to scrape through the forums before I can understand what I have to stop that annoying message from appearing and allow new users to register in the phpbb forum

The solution came natural and was a setting that had to be changed with the forum admin account, thus login as admin and look at the bottom of the page, below the text reading Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group you will notice a link with Administration Control Panel
just press there a whole bunch of menus will appear on the screen allowing you to do numerous things, however what you will have to do is go to
Board Settings -> Disable Board

and change the radio button there to say No

That's all now your forum will be ready to go and your users can freely register and if the server where the forum is installed has an already running mail server, they will receive an emails with a registration data concerning their new registrations in your new phpbb forum.
Cheers and Enjoy your new shiny phpbb Forum 🙂

xorg on Toshiba Satellite L40 14B with Intel GM965 video hangs up after boot and the worst fix ever / How to reinstall Ubuntu by keeping the old personal data and programs

Wednesday, April 27th, 2011

Reading Time: 4minutes

black screen ubuntu troubles

I have updated Ubuntu version 9.04 (Jaunty) to 9.10 and followed the my previous post update ubuntu from 9.04 to Latest Ubuntu

I expected that a step by step upgrade from a release to release will work like a charm and though it does on many notebooks it doesn't on Toshiba Satellite L40

The update itself went fine, whether I used the update-manager -d and followed the above pointed tutorial, however after a system restart the PC failed to boot the X server properly, a completely blank screen with blinking cursor appeared and that was all.

I restarted the system into the 2.6.35-28-generic kernel rescue-mode recovery kernel in order to be able to enter into physical console.

Logically the first thing I did is to check /var/log/messages and /var/log/Xorg.0.log but I couldn't find nothing unusual or wrong there.

I suspected something might be wrong with /etc/X11/xorg.conf so I deleted it:

ubuntu:~# rm -f /etc/X11/xorg.conf

and attempted to re-create the xorg.conf X configuration with command:

ubuntu:~# dpkg-reconfigure xserver-xorg

This command was reported to be the usual way to reconfigure the X server settings from console, but in my case (for unknown reasons) it did nothing.

Next the command which was able to re-generate the xorg.conf file was:

ubuntu:~# X -configure

The command generates a xorg.conf sample file in /root/xorg.conf.* so I used the conf to put it in /etc/X11/xorg.conf X's default location and restarted in hope that this would fix the non-booting issue.

Very sadly again the black screen of death appeared on the notebook toshiba screen.
I further thought of completely wipe out the xorg.conf in hope that at least it might boot without the conf file but this worked out neither.

I attempted to run the Xserver with a xorg.conf configured to work with vesa as it's well known vesa X server driver is supposed to work on 99% of the video cards, as almost all of them nowdays are compatible with the vesa standard, but guess what in my case vesa worked not!

The only version of X I can boot in was the failsafe X screen mode which is available through the grub's boot menu recovery mode.

Further on I decided to try few xorg.conf which I found online and were reported to work fine with Intel GM965 internal video , and yes this was also unsucessful.

Some of my other futile attempts were: to re-install the xorg server with apt-get, reinstall the xserver-xorg-video-intel driver e.g.:

ubuntu:~# apt-get install --reinstall xserver-xorg xserver-xorg-video-intel

As nothing worked out I was completely pissed off and decided to take an alternative approach which will take a lot of time but at least will probably be succesful, I decided to completely re-install the Ubuntu from a CD after backing up the /home directory and making a list of available packages on the system, so I can further easily run a tiny bash one-liner script to install all the packages which were previously existing on the laptop before the re-install:

Here is how I did it:

First I archived the /home directory:

ubuntu:/# tar -czvf home.tar.gz home/

For 12GB of data with some few thousands of files archiving it took about 40 minutes.

The tar spit archive became like 9GB and I hence used sftp to upload it to a remote FTP server as I was missing a flash drive or an external HDD where I can place the just archived data.

Uploading with sftp can be achieved with a command similar to:

Connected to
sftp> put home.tar.gz

As a next step to backup in a file the list of all current installed packages, before I can further proceed to boot-up with the Ubuntu Maverich 10.10 CD and prooceed with the fresh install I used command:

for i in $(dpkg -l| awk '{ print $2 }'); do
echo $i; done >> my_current_ubuntu_packages.txt

Once again I used sftp as in above example to upload my_current_update_packages.txt file to my FTP host.

After backing up all the stuff necessery, I restarted the system and booted from the CD-rom with Ubuntu.
The Ubuntu installation as usual is more than a piece of cake and even if you don't have a brain you can succeed with it, so I wouldn't comment on it 😉

Right after the installation I used the sftp client once again to fetch the home.tar.gz and my_current_ubuntu_packages.txt

I placed the home.tar.gz in /home/ and untarred it inside the fresh /home dir:

ubuntu:/home# tar -zxvf home.tar.gz

Eventually the old home directory was located in /home/home so thereon I used Midnight Commander ( the good old mc text file explorer and manager ) to restore the important user files to their respective places.

As a last step I used the my_current_ubuntu_packages.txt in combination with a tiny shell script to install all the listed packages inside the file with command:

ubuntu:~# for i in $(cat my_current_ubuntu_packagespackages.txt); do
apt-get install --yes $i; sleep 1;

You will have to stay in front of the computer and manually answer a ncurses interface questions concerning some packages configuration and to be honest this is really annoying and time consuming.

Summing up the overall time I spend with this stupid Toshiba Satellite L40 with the shitty Intel GM965 was 4 days, where each day I tried numerous ways to fix up the X and did my best to get through the blank screen xserver non-bootable issue, without a complete re-install of the old Ubuntu system.
This is a lesson for me that if I stumble such a shitty issues I will straight proceed to the re-install option and not loose my time with non-sense fixes which would never work.

Hope the article might be helpful to somebody else who experience some problems with Linux similar to mine.

After all at least the Ubuntu Maverick 10.10 is really good looking in general from a design perspective.
What really striked me was the placement of the close, minimize and maximize window buttons , it seems in newer Ubuntus the ubuntu guys decided to place the buttons on the left, here is a screenshot:

Left button positioning of navigation Buttons in Ubuntu 10.10

I believe the solution I explain, though very radical and slow is a solution that would always work and hence worthy 😉
Let me hear from you if the article was helpful.

Block Web server over loading Bad Crawler Bots and Search Engine Spiders with .htaccess rules

Monday, September 18th, 2017

Reading Time: 6minutes


In last post, I've talked about the problem of Search Index Crawler Robots aggressively crawling websitesand how to stop them (the article is here) explaning how to raise delays between Bot URL requests to website and how to completely probhit some bots from crawling with robots.txt.

As explained in article the consequence of too many badly written or agressive behaviour Spider is the "server stoning" and therefore degraded Web Server performance as a cause or even a short time Denial of Service Attack, depending on how well was the initial Server Scaling done.

The bots we want to filter are not to be confused with the legitimate bots, that drives real traffic to your website, just for information

 The 10 Most Popular WebCrawlers Bots as of time of writting are:

1. GoogleBot (The Google Crawler bots, funnily bots become less active on Saturday and Sundays :))

2. BingBot ( Crawler bots)

3. SlurpBot (also famous as Yahoo! Slurp)

4. DuckDuckBot (The dutch search engine crawler bots)

5. Baiduspider (The Chineese most famous search engine used as a substitute of Google in China)

6. YandexBot (Russian Yandex Search engine crawler bots used in Russia as a substitute for Google )

7. Sogou Spider (leading Chineese Search Engine launched in 2004)

8. Exabot (A French Search Engine, launched in 2000, crawler for ExaLead Search Engine)

9. FaceBot (Facebook External hit, this crawler is crawling a certain webpage only once the user shares or paste link with video, music, blog whatever  in chat to another user)

10. Alexa Crawler (la_archiver is a web crawler for Amazon's Alexa Internet Rankings, Alexa is a great site to evaluate the approximate page popularity on the internet, Alexa SiteInfo page has historically been the Swift Army knife for anyone wanting to quickly evaluate a webpage approx. ranking while compared to other pages)

Above legitimate bots are known to follow most if not all of W3C – World Wide Web Consorium (W3.Org) standards and therefore, they respect the content commands for allowance or restrictions on a single site as given from robots.txt but unfortunately many of the so called Bad-Bots or Mirroring scripts that are burning your Web Server CPU and Memory mentioned in previous article are either not following /robots.txt prescriptions completely or partially.

Hence with the robots.txt unrespective bots, the case the only way to get rid of most of the webspiders that are just loading your bandwidth and server hardware is to filter / block them is by using Apache's mod_rewrite through




Create if not existing in the DocumentRoot of your website .htaccess file with whatever text editor, or create it your windows / mac os desktop and transfer via FTP / SecureFTP to server.

I prefer to do it directly on server with vim (text editor)



vim /var/www/sites/


RewriteEngine On

IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

SetEnvIfNoCase User-Agent "^Black Hole” bad_bot
SetEnvIfNoCase User-Agent "^Titan bad_bot
SetEnvIfNoCase User-Agent "^WebStripper" bad_bot
SetEnvIfNoCase User-Agent "^NetMechanic" bad_bot
SetEnvIfNoCase User-Agent "^CherryPicker" bad_bot
SetEnvIfNoCase User-Agent "^EmailCollector" bad_bot
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "^WebBandit" bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
SetEnvIfNoCase User-Agent "^ExtractorPro" bad_bot
SetEnvIfNoCase User-Agent "^CopyRightCheck" bad_bot
SetEnvIfNoCase User-Agent "^Crescent" bad_bot
SetEnvIfNoCase User-Agent "^Wget" bad_bot
SetEnvIfNoCase User-Agent "^SiteSnagger" bad_bot
SetEnvIfNoCase User-Agent "^ProWebWalker" bad_bot
SetEnvIfNoCase User-Agent "^CheeseBot" bad_bot
SetEnvIfNoCase User-Agent "^Teleport" bad_bot
SetEnvIfNoCase User-Agent "^TeleportPro" bad_bot
SetEnvIfNoCase User-Agent "^MIIxpc" bad_bot
SetEnvIfNoCase User-Agent "^Telesoft" bad_bot
SetEnvIfNoCase User-Agent "^Website Quester" bad_bot
SetEnvIfNoCase User-Agent "^WebZip" bad_bot
SetEnvIfNoCase User-Agent "^moget/2.1" bad_bot
SetEnvIfNoCase User-Agent "^WebZip/4.0" bad_bot
SetEnvIfNoCase User-Agent "^WebSauger" bad_bot
SetEnvIfNoCase User-Agent "^WebCopier" bad_bot
SetEnvIfNoCase User-Agent "^NetAnts" bad_bot
SetEnvIfNoCase User-Agent "^Mister PiX" bad_bot
SetEnvIfNoCase User-Agent "^WebAuto" bad_bot
SetEnvIfNoCase User-Agent "^TheNomad" bad_bot
SetEnvIfNoCase User-Agent "^WWW-Collector-E" bad_bot
SetEnvIfNoCase User-Agent "^RMA" bad_bot
SetEnvIfNoCase User-Agent "^libWeb/clsHTTP" bad_bot
SetEnvIfNoCase User-Agent "^asterias" bad_bot
SetEnvIfNoCase User-Agent "^httplib" bad_bot
SetEnvIfNoCase User-Agent "^turingos" bad_bot
SetEnvIfNoCase User-Agent "^spanner" bad_bot
SetEnvIfNoCase User-Agent "^InfoNaviRobot" bad_bot
SetEnvIfNoCase User-Agent "^Harvest/1.5" bad_bot
SetEnvIfNoCase User-Agent "Bullseye/1.0" bad_bot
SetEnvIfNoCase User-Agent "^Mozilla/4.0 (compatible; BullsEye; Windows 95)" bad_bot
SetEnvIfNoCase User-Agent "^Crescent Internet ToolPak HTTP OLE Control v.1.0" bad_bot
SetEnvIfNoCase User-Agent "^CherryPickerSE/1.0" bad_bot
SetEnvIfNoCase User-Agent "^CherryPicker /1.0" bad_bot
SetEnvIfNoCase User-Agent "^WebBandit/3.50" bad_bot
SetEnvIfNoCase User-Agent "^NICErsPRO" bad_bot
SetEnvIfNoCase User-Agent "^Microsoft URL Control – 5.01.4511" bad_bot
SetEnvIfNoCase User-Agent "^DittoSpyder" bad_bot
SetEnvIfNoCase User-Agent "^Foobot" bad_bot
SetEnvIfNoCase User-Agent "^WebmasterWorldForumBot" bad_bot
SetEnvIfNoCase User-Agent "^SpankBot" bad_bot
SetEnvIfNoCase User-Agent "^BotALot" bad_bot
SetEnvIfNoCase User-Agent "^lwp-trivial/1.34" bad_bot
SetEnvIfNoCase User-Agent "^lwp-trivial" bad_bot
SetEnvIfNoCase User-Agent "^Wget/1.6" bad_bot
SetEnvIfNoCase User-Agent "^BunnySlippers" bad_bot
SetEnvIfNoCase User-Agent "^Microsoft URL Control – 6.00.8169" bad_bot
SetEnvIfNoCase User-Agent "^URLy Warning" bad_bot
SetEnvIfNoCase User-Agent "^Wget/1.5.3" bad_bot
SetEnvIfNoCase User-Agent "^LinkWalker" bad_bot
SetEnvIfNoCase User-Agent "^cosmos" bad_bot
SetEnvIfNoCase User-Agent "^moget" bad_bot
SetEnvIfNoCase User-Agent "^hloader" bad_bot
SetEnvIfNoCase User-Agent "^humanlinks" bad_bot
SetEnvIfNoCase User-Agent "^LinkextractorPro" bad_bot
SetEnvIfNoCase User-Agent "^Offline Explorer" bad_bot
SetEnvIfNoCase User-Agent "^Mata Hari" bad_bot
SetEnvIfNoCase User-Agent "^LexiBot" bad_bot
SetEnvIfNoCase User-Agent "^Web Image Collector" bad_bot
SetEnvIfNoCase User-Agent "^The Intraformant" bad_bot
SetEnvIfNoCase User-Agent "^True_Robot/1.0" bad_bot
SetEnvIfNoCase User-Agent "^True_Robot" bad_bot
SetEnvIfNoCase User-Agent "^BlowFish/1.0" bad_bot
SetEnvIfNoCase User-Agent "^JennyBot" bad_bot
SetEnvIfNoCase User-Agent "^MIIxpc/4.2" bad_bot
SetEnvIfNoCase User-Agent "^BuiltBotTough" bad_bot
SetEnvIfNoCase User-Agent "^ProPowerBot/2.14" bad_bot
SetEnvIfNoCase User-Agent "^BackDoorBot/1.0" bad_bot
SetEnvIfNoCase User-Agent "^toCrawl/UrlDispatcher" bad_bot
SetEnvIfNoCase User-Agent "^WebEnhancer" bad_bot
SetEnvIfNoCase User-Agent "^TightTwatBot" bad_bot
SetEnvIfNoCase User-Agent "^suzuran" bad_bot
SetEnvIfNoCase User-Agent "^VCI WebViewer VCI WebViewer Win32" bad_bot
SetEnvIfNoCase User-Agent "^VCI" bad_bot
SetEnvIfNoCase User-Agent "^Szukacz/1.4" bad_bot
SetEnvIfNoCase User-Agent "^QueryN Metasearch" bad_bot
SetEnvIfNoCase User-Agent "^Openfind data gathere" bad_bot
SetEnvIfNoCase User-Agent "^Openfind" bad_bot
SetEnvIfNoCase User-Agent "^Xenu’s Link Sleuth 1.1c" bad_bot
SetEnvIfNoCase User-Agent "^Xenu’s" bad_bot
SetEnvIfNoCase User-Agent "^Zeus" bad_bot
SetEnvIfNoCase User-Agent "^RepoMonkey Bait & Tackle/v1.01" bad_bot
SetEnvIfNoCase User-Agent "^RepoMonkey" bad_bot
SetEnvIfNoCase User-Agent "^Zeus 32297 Webster Pro V2.9 Win32" bad_bot
SetEnvIfNoCase User-Agent "^Webster Pro" bad_bot
SetEnvIfNoCase User-Agent "^EroCrawler" bad_bot
SetEnvIfNoCase User-Agent "^LinkScan/8.1a Unix" bad_bot
SetEnvIfNoCase User-Agent "^Keyword Density/0.9" bad_bot
SetEnvIfNoCase User-Agent "^Kenjin Spider" bad_bot
SetEnvIfNoCase User-Agent "^Cegbfeieh" bad_bot


<Limit GET POST>
order allow,deny
allow from all
Deny from env=bad_bot


Above rules are Bad bots prohibition rules have RewriteEngine On directive included however for many websites this directive is enabled directly into VirtualHost section for domain/s, if that is your case you might also remove RewriteEngine on from .htaccess and still the prohibition rules of bad bots should continue to work
Above rules are also perfectly suitable wordpress based websites / blogs in case you need to filter out obstructive spiders even though the rules would work on any website domain with mod_rewrite enabled.

Once you have implemented above rules, you will not need to restart Apache, as .htaccess will be read dynamically by each client request to Webserver

2. Testing .htaccess Bad Bots Filtering Works as Expected

In order to test the new Bad Bot filtering configuration is working properly, you have a manual and more complicated way with lynx (text browser), assuming you have shell access to a Linux / BSD / *Nix computer, or you have your own *NIX server / desktop computer running

Here is how:


lynx -useragent="Mozilla/5.0 (compatible;; +" -head -dump



Note that lynx will provide a warning such as:

Warning: User-Agent string does not contain "Lynx" or "L_y_n_x"!

Just ignore it and press enter to continue.

Two other use cases with lynx, that I historically used heavily is to pretent with Lynx, you're GoogleBot in order to see how does Google actually see your website?

  • Pretend with Lynx You're GoogleBot


lynx -useragent="Mozilla/5.0 (compatible; Googlebot/2.1; +" -head -dump



  • How to Pretend with Lynx Browser You are GoogleBot-Mobile


lynx -useragent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7 (compatible; Googlebot-Mobile/2.1; +" -head -dump


Or for the lazy ones that doesn't have Linux / *Nix at disposal you can use WannaBrowser website

Wannabrowseris a web based browser emulator which gives you the ability to change the User-Agent on each website req1uest, so just set your UserAgent to any bot browser that we just filtered for example set User-Agent to CheeseBot

The .htaccess rule earier added once detecting your browser client is coming in with the prohibit browser agent will immediately filter out and you'll be unable to access the website with a message like:

HTTP/1.1 403 Forbidden


Just as I've talked a lot about Index Bots, I think it is worthy to also mention three great websites that can give you a lot of Up to Date information on exact Spiders returned user-agent, common known Bot traits as well as a a current updated list with the Bad Bots etc.

Bot and Browser Resources information user-agents, bad-bots and odd Crawlers and Bots specifics



An updated list with robots user-agents (crawler-user-agents) is also available in github here regularly updated by Caia Almeido

There are also a third party plugin (modules) available for Website Platforms like WordPress / Joomla / Typo3 etc.

Besides the listed on these websites as well as the known Bad and Good Bots, there are perhaps a hundred of others that might end up crawling your webdsite that might or might not need  to be filtered, therefore before proceeding with any filtering steps, it is generally a good idea to monitor your  HTTPDaccess.log / error.log, as if you happen to somehow mistakenly filter the wrong bot this might be a reason for WebsiteIndexing Problems.

Hope this article give you some valueable information. Enjoy ! 🙂