What is the difference between Mangle Table & NAT Table?

You must know IPTables to understand routing properly. Once the concept & perspective of IPTables is cleared to somebody, it would become very easy to understand Linux routing and write Iptables rules to create & configure your own desired network. I will write a series of posts trying to explain and clear the confusion over Iptables basic perspective.

Continue reading “What is the difference between Mangle Table & NAT Table?”

Postrouting and IP Masquerading in Linux

IPTables is responsible to handle packet filtering in Linux system. IPTables contains several predefined and/or user-defined tables. Each table contains chains and chain contain packet rules. IPTables uses NAT table to forward packets to another node.

Continue reading “Postrouting and IP Masquerading in Linux”

Best Method to Reboot Linux

There are multiple ways to restart a remote linux system. A IPMI restart, a Power Strip or a Command Restart.

What is the best method to restart a Linux system?

The best method to restart a linux system is to graceful command restart. This will always make sure your all the services are closed before a restart. It will unmount the system and process a shutdown. If a system is not cleanly unmounted, this can cause data loss or some serious injuries to the drive. An uncleanly unmounted system can also take extra time to reboot due to file system integrity check and file system quota check. A cleanly unmounted system would skip the both check and restarts fast. It is hence recommended not to use a forceful Linux restart which doesn’t unmount the system cleanly.

Continue reading “Best Method to Reboot Linux”

Toggle Linux Bootscreen Splash Screen to Verbose Details

How to toggle Linux Bootscreen Splash Bar / Progress Bar to Verbose details?

It is possible that you need to toggle your linux boot screen to display what exactly running in background instead of a splash screen. From CentOS/RHEL 6, they use Plymouth to load a default silent boot screen that is graphically beautiful but doesn’t provide any verbose output. Sometimes the boot screen freezes and without a detailed output you may not be able to identity the root reason of the cause. If you are on the bootscreen where a splashbar is running, press the following keys together:

ALT + d

That would toggle the splash screen to detailed output.

Continue reading “Toggle Linux Bootscreen Splash Screen to Verbose Details”

There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them

While updating CentOS/RHEL system using Yum, the following error appears:

There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them

How do I fix this in CentOS/RHEL 5.x/6.x system?

You have some broken or aborted yum transactions in the system. It was possibly due to yum was forcefully interrupted in the middle of a transaction. To fix this, run the following:

$ yum-complete-transaction

The command can return the following:

$ yum-complete-transaction
bash: yum-complete-transaction: command not found

It means you do not have yum-utils package installed in your system. Run the following to install yum-utils

$ yum install yum-utils

This will install necessary for yum-complete-transaction.

How to update roundcube/phpmyadmin settings in directadmin?

Sometimes you may need to change the configuration settings of Roundcube, PHPMyAdmin or SquirrelMail from default values. The values are primarily set by directadmin custombuild.

How to change settings of Roundcube/PHPMyAdmin in Directadmin?

Directadmin stores these 3rdparty data in the following folder:

/var/www/html/

If you want to change the roundcube settings for example, browse the file main.inc.php

nano /var/www/html/roundcube/main.inc.php

Database settings for roundcube available under:

/var/www.html/roundcube/db.inc.php

The same would be true for “config.php” file for SquirrelMail and “config.inc.php” file for PHPMyAdmin.

If you would like to set your own settings next time you run the custombuild make sure to copy a version of these files under the following locations:

/usr/local/directadmin/custombuild/custom/phpmyadmin/config.inc.php
/usr/local/directadmin/custombuild/custom/squirrelmail/config.php
/usr/local/directadmin/custombuild/custom/roundcube/main.inc.php
/usr/local/directadmin/custombuild/custom/roundcube/db.inc.php

This will include the custom settings for you while the software updates by custombuild.

Hostingseclist.com – Something worth subscribing!

Folks from RACK911 created a listing page called http://hostingseclist.com

Its a list of recent security notices related to web hosting industry. The list is pretty fast to notify when a vulnerability arrives and most of the cases, they include a discussion linking to Webhostingtalk. It is hard to subscribe to every product developer and keep updated with their latest bug reports. While HostingSecList seems to be collecting everything in one. They are also checking each of the bug reported before posting them online. They also list community reported bugs.

HostingSecList.com is something worth subscribing out of all spammers right these days!

How to open .xz file in Linux/Unix?

.xz is a lossless file compression program that uses LZMA2 compression algorithm. xz is sort of stripped down version of 7-Zip program, although it has its own file format .7z

.xz compresses single file input and does not bundle multiple file in single archive. It is therefore a regular practice to use an archiving technique along with .xz compression. In Linux/Unix it is popularly, tar.

How to open/decompress/extract .tar.xz file?

$ tar -xJf yourfile.tar.xz

-J is the flag to handle .xz files in tar program.

Although, modern tar program can automatically determine what compression technique is used and apply thereby. You can simply run the following and it should work

$ tar -xf yourfile.tar.xz

Converting mbox to maildir

mbox and maildir both are popularly used techniques to store mails. The simple way to understand the difference is, mbox uses a single directory to store all mails while maildir would utilize a directory structure to store mails. Most of the cases, advance mail receiving techniques IMAP over POP3 uses these sort of folder based concept to provide enhancement in mail organizing.

If you are having a POP3 account using mbox, you can use an open source tool called mb2md to convert it to maildir.

Full reference and how to use the tool is available here:
http://batleth.sapienti-sat.org/projects/mb2md/

How to convert mbox to maildir using mb2md?

First download the mb2md script from the developer

$ wget http://batleth.sapienti-sat.org/projects/mb2md/mb2md-3.20.pl.gz
$ gzip -d mb2md-3.20.pl.gz
$ chmod 755 mb2md-3.20.pl

Now, converting is simple. Use as following:

$ mb2md-3.20.pl -s /locationofmbox -R -d /destinationofmaildir

-s defines the source of the mbox, the location would depend on the type of environment you are using.
-R defines recursively do for all subdirectories
-d defines the destination of maildirectory inbox.

How to convert mbox to maildir in a directadmin instance manually?

For Example, if you are using Directadmin control panel, the mbox spool is located under /var/spool/virtual/domain.com/user. You would want to run something like this to convert the mbox into maildir in a directadmin control panel:

$ mb2md-3.20.pl -s /var/spool/virtual/domain.com/user -R -d /home/username/imap/domain.com/user/Maildir
$ chown -Rf username:mail /home/username/imap/domain.com/user/Maildir

Install rtorrent in RHEL/CentOS

The easiest way to install rtorrent (a command line bittorrent client) is to use the RPMForge Repository. You can install RPMForge using the following artcle How to install RPMForge Repository in RHEL/Centos.

Once you are done, you just need to run the following command to install rtorrent in your RHEL/CentOS (5/6):

yum install libtorrent rtorrent libsigc

libsigc++ is a dependency library for libtorrent. Yum should include it automatically in the installation. RPMForge has the compatible libsigc++ in their repository.